圖檔中文字區塊切割問題... |
尚未結案
|
雪豆豆
一般會員 發表:19 回覆:22 積分:13 註冊:2002-08-18 發送簡訊給我 |
|
Brian77
中階會員 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
|
雪豆豆
一般會員 發表:19 回覆:22 積分:13 註冊:2002-08-18 發送簡訊給我 |
引言: 找出切割的依據.. 各文字區域之間擁有一較大的空白區域 由指定點開始往四周尋找, 若找到非白點就擴大區塊範圍 當向四周尋找一距離 (這個值的大小會影響切割的結果) 皆為白點時 即完成區塊的範圍訂定我目前的確也是這樣做.. 由游標所在地往上下找出空白區塊訂出文字高度 然後再往左右找出空白區塊. 定出左右寬度.. 然後切割這個區塊下來 但是有一個問題是.. 每個 "英文字母" 中間會有間隔. 兩個 "英文單字" 中間也會有間隔 常理判斷可以得知.. 英文單字間的間隔 > 英文字母間的間隔 但是到底 英文單字間的間隔是多少個 Pixel 卻很難取捨 假設 A 字串 的 單字間隔是 8pixel 字母間隔 3pixel B 字串 的 單字間隔是 3pixel 字母間隔 1pixel 這時我該用多少間隔來判斷是單字間隔還是字母間隔? 用 3 pixel 來當 單字間隔 在 A 字串就會判斷錯誤 用 4 Pixel 來當 單字間隔 在 B 字串可能會切割不出來 所以我在想光學辨識軟體是如何做到單字切割的 因為畢竟每篇文章的排列. 間距 均不盡相同 |
kj68215
初階會員 發表:47 回覆:91 積分:27 註冊:2003-08-09 發送簡訊給我 |
雪豆豆你好:
我想這應該是你要需要的,請參考RaynorPao的demo程式↓
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=34759
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=34780 P.S:這是bcb版本的,不過這應該可以給你一個不錯的方向!
-----------------------
請多多指教啦!!^^ 發表人 - kj68215 於 2004/04/08 01:08:22
------
----------------------- 請多多指教啦!!^^ |
雪豆豆
一般會員 發表:19 回覆:22 積分:13 註冊:2002-08-18 發送簡訊給我 |
|
auslk
初階會員 發表:35 回覆:77 積分:32 註冊:2003-02-17 發送簡訊給我 |
|
雪豆豆
一般會員 發表:19 回覆:22 積分:13 註冊:2002-08-18 發送簡訊給我 |
Dear Pauli ~ 其實並沒有降簡單ㄝ.. 你看我的範例圖就知道了
每個字母的大小並不相同.. a 與 i 佔用的空間不同
且.. 游標點在哪裡並不曉得.. 或許是點在字母間的空白處
又要怎樣判斷字母大小呢?
最主要是..
1. 英文字母大小不同
2. 分散式對齊.. 因此每個英文單字的間隔也不會相同
3. 你不曉得點到的位置到底有沒有在英文字上
引言: Dear 雪豆豆, 問題應該很簡單,不完全屬於 影像處理(一部份是看圖說故事@@~ ) 個人見解 1.首先 計算字母大小==> 15*9 pixels 2.字與字之間有 15*1 pixel 大小 3.製作MASK 15*9 大小 4.將各英/數文字區塊先找出,標出座標 5.判斷滑鼠(x,y)位置==>然後取出該區塊英數字 6.完成.... 以上 是 小的見解 Best Regards, Pauli 04/08/04' |
auslk
初階會員 發表:35 回覆:77 積分:32 註冊:2003-02-17 發送簡訊給我 |
Dear 雪豆豆, 1.看圖說故事方法.
1-1.若是依照你所提供的圖片,可以利用我的mask去偵測
我是每個字母抓最大範圍,去判斷是否有Level 255(15*9)
若有,則判斷為一個字母,再判斷是否Level 0(1*9)連續3個以上
則將區塊取出.
2.影像處理方法:
2-1.取出abc...Z等字母特徵值,看直方圖分佈
2-2.校對水平,旋轉至水平方向.
2-3.取字母最大範圍當作水平軸(一次判斷一行)
取直方圖分佈(當作資料庫使用)
2-4.判斷資料庫是否符合字母特徵值
直到一行全部讀完.
2-5.標示起始點與終點劃出長方形.區域就可以框出來.
2-6.你只要滑鼠移到框到的地方就顯示出你要的區塊單字.
以上 Best Regards,
Pauli
04/09/04'
引言: Dear Pauli ~ 其實並沒有降簡單ㄝ.. 你看我的範例圖就知道了 每個字母的大小並不相同.. a 與 i 佔用的空間不同 且.. 游標點在哪裡並不曉得.. 或許是點在字母間的空白處 又要怎樣判斷字母大小呢? 最主要是.. 1. 英文字母大小不同 2. 分散式對齊.. 因此每個英文單字的間隔也不會相同 3. 你不曉得點到的位置到底有沒有在英文字上引言: Dear 雪豆豆, 問題應該很簡單,不完全屬於 影像處理(一部份是看圖說故事@@~ ) 個人見解 1.首先 計算字母大小==> 15*9 pixels 2.字與字之間有 15*1 pixel 大小 3.製作MASK 15*9 大小 4.將各英/數文字區塊先找出,標出座標 5.判斷滑鼠(x,y)位置==>然後取出該區塊英數字 6.完成.... 以上 是 小的見解 Best Regards, Pauli 04/08/04' |
Brian77
中階會員 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
人工辨識時, 基本上也是依照字距來判別
各字間距可能 0 ~ ? 點, 但單字間距通常會比字母間距大幾倍
所以我用一個方法:
先切出列來, 這個應該很簡單
然後找出該列有哪些間距, 記下它們的大小和位置
取前兩項分別為A組和B組 (總合各為 Sa,Sb 組員數 Ca,Cb, 中心為 Pa,Pb)
其中 Pa=(Sa/Ca) Pb=(Sb/Cb)
從第三項開始至最後一項, 進行以下分組動作
計算新項目和 Pa,Pb 的距離
若 新項目和Pa最近, 則 Sa =新項目, Ca
若 新項目和Pb最近, 則 Sb =新項目, Cb
否則 Sa =Sb, Ca =Cb, Sb=新項目, Cb=1 (原本兩組合併, 新項目自成一組) 完成分組後, 檢查這兩組的中心值, 若倍數太小則表示這一列可能只有一個單字 (實測值, 取用3倍分割效果較佳), 否則取 (Pa Pb)/2 為分界值
大於此分界值的表示是單字間距, 小於此值的是字母間距 測試的文字圖檔: 樓頂那張圖 和 重新在小畫家打了一篇相似但不同字型的圖
使用的倍數: 3
測試結果: 全部切割成功
可能會有問題的地方: 單一列中有數個單字, 但各單字間皆無字母間距, 這時可能會被視整列為一個單字
|
雪豆豆
一般會員 發表:19 回覆:22 積分:13 註冊:2002-08-18 發送簡訊給我 |
可以提供 code 參考嗎....
因為 Word 有左右分散對稱功能
所以其實每個單字間距並不相同
用固定倍數會有點問題.. 有的會切不出來ㄋㄟ
引言: 人工辨識時, 基本上也是依照字距來判別 各字間距可能 0 ~ ? 點, 但單字間距通常會比字母間距大幾倍 所以我用一個方法: 先切出列來, 這個應該很簡單 然後找出該列有哪些間距, 記下它們的大小和位置 取前兩項分別為A組和B組 (總合各為 Sa,Sb 組員數 Ca,Cb, 中心為 Pa,Pb) 其中 Pa=(Sa/Ca) Pb=(Sb/Cb) 從第三項開始至最後一項, 進行以下分組動作 計算新項目和 Pa,Pb 的距離 若 新項目和Pa最近, 則 Sa =新項目, Ca 若 新項目和Pb最近, 則 Sb =新項目, Cb 否則 Sa =Sb, Ca =Cb, Sb=新項目, Cb=1 (原本兩組合併, 新項目自成一組) 完成分組後, 檢查這兩組的中心值, 若倍數太小則表示這一列可能只有一個單字 (實測值, 取用3倍分割效果較佳), 否則取 (Pa Pb)/2 為分界值 大於此分界值的表示是單字間距, 小於此值的是字母間距 測試的文字圖檔: 樓頂那張圖 和 重新在小畫家打了一篇相似但不同字型的圖 使用的倍數: 3 測試結果: 全部切割成功 可能會有問題的地方: 單一列中有數個單字, 但各單字間皆無字母間距, 這時可能會被視整列為一個單字 |
Brian77
中階會員 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
|
雪豆豆
一般會員 發表:19 回覆:22 積分:13 註冊:2002-08-18 發送簡訊給我 |
引言: 測試程式 單字間距和字母間距的區分主要不是依靠那個倍數 那個倍數是在處理當該列中只有一個單字時, 其中較大的字母間距會被誤判為單字字距, 在 word 的左右對稱功能時, 也許調整一下該倍數值即可, 也也許不行, 那也許可以用字母的高寬比來做進一步的區分 在文字辨識時, 因為文字通常是有意義的, 有時可以用回饋的方式 切割 --> 辨識 --> 字母無相似字或單字意義怪怪的 --> 切割值調整 (比如上述的倍數做軟體自動調整) --> 再度辨識 ㄝ... 測試程式的 URL 不能夠連ㄝ... |
Brian77
中階會員 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
嗯... 那看看這個下載點可不可以使用 http://delphi.ktop.com.tw/loadfile.php?TOPICID=15022135&CC=335965 (檔名會怪怪的, 先改檔名再解壓縮)
|
cefcef
一般會員 發表:0 回覆:3 積分:0 註冊:2008-02-09 發送簡訊給我 |
請問各位大大
這個 " 測試程式 ",為何無法下載呢? 謝謝 ===================引 用 Brian77 文 章=================== 測試程式 單字間距和字母間距的區分主要不是依靠那個倍數那個倍數是在處理當該列中只有一個單字時, 其中較大的字母間距會被誤判為單字字距, 在 word 的左右對稱功能時, 也許調整一下該倍數值即可, 也也許不行, 那也許可以用字母的高寬比來做進一步的區分在文字辨識時, 因為文字通常是有意義的, 有時可以用回饋的方式切割 --> 辨識 --> 字母無相似字或單字意義怪怪的 --> 切割值調整 (比如上述的倍數做軟體自動調整) --> 再度辨識 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |