我試圖使用Tesseract OCR和楔形文字OCR從圖像中獲取文本。有沒有什麼辦法可以知道低於特定值的顏色的RGB值是否較淺顏色
但是,如果文本是小字體或字體很薄,則結果文本中會出現錯誤。
我們需要獲取文本的大部分圖像都是以較深的顏色返回文本,而圖像的其餘部分則以較淺的顏色顯示。所以我正在考慮將所有較淺的顏色轉換爲白色,然後增加緩衝圖像的大小以使得結果文本正確。 (糾正我,如果我的方法是錯誤的)。
任何人都可以提供關於如何實現這一目標將是真正有用的
我試圖使用Tesseract OCR和楔形文字OCR從圖像中獲取文本。有沒有什麼辦法可以知道低於特定值的顏色的RGB值是否較淺顏色
但是,如果文本是小字體或字體很薄,則結果文本中會出現錯誤。
我們需要獲取文本的大部分圖像都是以較深的顏色返回文本,而圖像的其餘部分則以較淺的顏色顯示。所以我正在考慮將所有較淺的顏色轉換爲白色,然後增加緩衝圖像的大小以使得結果文本正確。 (糾正我,如果我的方法是錯誤的)。
任何人都可以提供關於如何實現這一目標將是真正有用的
如果文字太小/細爲您OCR引擎的任何信息,那麼就沒有什麼可以做一下。
如果這是造成OCR引擎問題的對比度問題,那麼使「黑暗」變暗,「燈光」變輕是一種好方法。
下面是我以前使用和工作很好的對比度公式:
float contrast = 0.2;
float factor = (x*(contrast + y))/(x - contrast);
,其中x> 1.0意味着更多的對比度,並且x < 1.0意味着更少的對比度和 y是對於任何顏色分量的最大值(通常爲1.0或255)
編輯:判斷一個顏色比不同的顏色較淺:
明度方法平均最突出的和最不突出的顏色: (MAX(R,G,B)+分鐘(R,G,B))/ 2。
平均方法簡單地平均化的值:(R + G + B)/ 3。
的光度方法是平均 方法的更復雜的版本。它也對這些值進行平均,但它形成了加權平均值 以說明人類的看法。我們對綠色比其他顏色更敏感,所以綠色的權重最重。對於 光度的公式是0.21 R + 0.72 G + 0.07 B.
我意識到我從來沒有完全回答你的問題。我編輯了我的答案以反映解決方案。 –
我會試試你的答案。我有另一個想法。我可以考慮如果R <125 G <125 B <125當顏色較淺時,如果任何rgb值大於125則它會變成較暗的顏色 –
轉換爲灰度將比檢查各個組件的結果更穩定。在某些情況下,您的方法會將顏色定義爲黑色,但如果您查看顏色,則會很輕,反之亦然。亮度對於人類感知是最好的,第二種平均方法(R + G + B)/ 3對於OCR可能是最好的。 –