2012-02-16 12 views
0

私は23の画像を持っています、それらはすべて14ピクセルx 14ピクセルです。違いを見つける - 14x14画像

それぞれ白い背景に文字があります(255 255 255 RGB)。

私はそれらを比較し、その文字を識別する一意の空白のピクセルを探したいと思います。

たとえば、その比較手順の後、ピクセル番号(3幅、2高さ)の画像14x14が確実に「A」であると言いたいと思います。

可能ですか?

私はすべてのピクセルをチェックするメインループを持っていますが、私は今こだわっ:

function getpixelat($img,$x,$y) { 
    $rgb = imagecolorat($img,$x,$y); 
    $r = ($rgb >> 16) & 0xFF; 
    $g = ($rgb >> 8) & 0xFF; 
    $b = $rgb & 0xFF; 
    return $r.$g.$b; 
} 

for($y=$inity; $y<$h; $y++) { 
    for($x=$initx; $x<$w; $x++) { 
     $pixel = getpixelat($img,$x,$y); 
    } 
} 
+0

なぜ私は-1を得ましたか?これは有効な質問ではありませんか? – KingBOB

+2

コメントを残すことなく投票された残酷な行為で、元に戻す+1 +1 – tomexsans

+1

私は投票しませんでしたが、あなたの質問は本当に広い、または本当に狭いです。本質的にOCRについて質問していますが、これは解決された問題です。だから答えははいです、それは可能です。ライブラリを使用する。 –

答えて

2

を特定の文字のためのユニークな空白画素を見つけるには:

  1. あなたがのためにマスクを作成したいと思います各文字。空白のマスクで始めます(例:すべてのエントリがゼロに設定された14×14アレイ。
  2. 次に、問題の文字(たとえばA)については、空白の各ピクセルのマークをマークします。
  3. 残りの文字はすべてAのマスクと比較してください。他の文字に同じ空白のピクセルがある場合は、そのピクセルを使用できないものとしてマークしてください。
  4. 他のすべての文字に対してこの手順を繰り返します。つまり、各文字を他のすべての文字と比較します。

あなたはすべての文字のマスクの完全なセットを持っていたら、あなたはどんな重複していないことを確認するために、他のすべてのマスクに各マスクを比較します。そうしないと、あなたが扱っている手紙を決定するためにあなたが参照できるものがあるかもしれません。

関連する問題