我有這樣的圖像(白色背景和黑色文本)。如果沒有噪音(如您所見:數字線的頂部和底部有許多噪音),Tesseract可以識別出數字非常好。如何自定義Tesseract忽略噪音?
但是當有噪音時,Tesseract嘗試將其識別爲數字並添加更多數字。這真的很糟糕。我如何使Tesseract忽略噪音?我無法制作預處理圖像,使其更加鮮明或鮮明。這沒有任何幫助。
如果某些工具只能高亮字符串行。這對Tesseract來說可能是非常好的輸入。請幫幫我。謝謝大家。
我有這樣的圖像(白色背景和黑色文本)。如果沒有噪音(如您所見:數字線的頂部和底部有許多噪音),Tesseract可以識別出數字非常好。如何自定義Tesseract忽略噪音?
但是當有噪音時,Tesseract嘗試將其識別爲數字並添加更多數字。這真的很糟糕。我如何使Tesseract忽略噪音?我無法制作預處理圖像,使其更加鮮明或鮮明。這沒有任何幫助。
如果某些工具只能高亮字符串行。這對Tesseract來說可能是非常好的輸入。請幫幫我。謝謝大家。
你應該嘗試eroding and dilating:
最基本的形態學操作有二:腐蝕和膨脹。 他們有廣泛用途的陣列,即:
去除噪聲
...
你可以嘗試下采樣的二進制圖像,並再次品嚐它(pyrDown
和PyrUp
)或你可以嘗試smooth
你的形象與高斯模糊。並且,如已經暗示的那樣,erode
和dilate
您的圖像。
我看到你的問題的解決方案3:
erode
和dilate
或某種模糊的。這是最簡單的解決方案。findContours
函數),然後刪除面積小於某個值的所有等值線(嘗試不同的值,您應該找到正確的等高線)。請注意,該值可能不是恆定的 - 例如,您可以嘗試使用平均輪廓面積的80%(只需添加所有輪廓面積,再除以輪廓數量並乘以0.8)。T
和B
。 B.y
和T.y
之間的所有元素添加一個。 (所以如果B =(1,4)並且T =(3,11),則向數組[4],數組[5],數組[6] ...,數組[11])加1。 v
。所有輪廓B.y <= v <= T.y
應該是字母,其他輪廓 - 噪音。做連接組件標籤....這是blob計數....所有劑量噪聲永遠不會匹配數字的大小....與形態學技術的數字也得到修改...標籤image ...計算每個標記區域中的像素數量並設置一個閾值(您可以輕鬆設置,因爲您只會有數字和噪音)... cvblob是用C++編寫的代碼庫,可供用戶使用...
通過使用圖像處理技術(形態學操作,如侵蝕和擴張),您可以輕鬆去除這些噪音,您可以選擇opencv進行此操作。