2016-11-06 3 views
1

イメージで影の効果を持つテキストを検出しようとしています。背景、テキストの色、テキストサイズは固定されていません。テキストの影を検出する方法

Text sample

私はこの方法を試してみました:

  1. は、長方形のようなテキストから形状を取得するために、しきい値を追加します。 Text after threshold.
  2. 矩形の輪郭を検索します。

しかし、イメージが異なる背景、フォント、テキストサイズで表示されるので、私の望むように動作しません。

シャドー検出のあるテキストにはどのような方法が最適でしょうか?

答えて

1

この領域のすべてのテキストは1色です。各色のピクセル数を計算し、このリストを並べ替えることができます。テキストの色はこのリストの一番下に表示されます。テキストの色が分かっている場合は、しきい値をより正確に設定できます。応答のための

def get_count(pixels_in_this_area): 
    count = defaultdict(int) 
    for pixel_color in pixels_in_this_area: 
     count[pixel_color] += 1 

count_with_text = get_count(area_with_text) 
count_without_text = get_count(area_without_text) 
for color in count_without_text.keys(): 
    if color in count_with_text: 
     count_with_text[color] -= count_without_text[color] 

count_list = list(count_with_text.items()) 
count_list.sort(key=lambda: x[1]) # sort by count of pixel with this color 
text_color = count_list[-1][0] 

enter image description here

+0

感謝。最後のカウント項目がテキストの色を返すはずですか?なぜなら、ランダムな背景色しか返さないからです。 – Streem

+0

異なる背景とテキスト領域のみを使用してください。 – ADR

+0

ありがとうございました! – Streem

関連する問題