1

多くのスキャンされた本(つまり、ペルシャ語(アラビア語))のすべての単語の小さな画像を取得したい。私は画像処理の実験をしていません。
どうすれば最も効率的な方法でそれを行うことができますか?

4

1 に答える 1

3

MATLAB で次のようなスクリプトを作成することをお勧めします。
a : 文字間の最大距離の半分 (ピクセル単位)
b : 単語間の最小距離の半分 (ピクセル単位)
(期待 a < b )

ページのスキャンされた画像をしきい値処理します。

I(I < Th) = 0;I(I > Th) = 1;  

実験して「Th」を選択します。文字がある場所に 1 があるバイナリ イメージ 'I' を取得する必要があります。画像を膨張させます。

imdilate(I,a); 

これで文字がつながります。
ノイズを除去します。

I = bwareaopen(I,n); 

これにより、n ピクセル未満のすべての連結要素が削除されます。
連結成分分析を行います。

CC = bwconncomp(I);  
Rect = regionprops(I,'BoundingBox');  

これは、単一の単語を含む長方形の座標のリストを返します。元のコピーから部分行列を抽出し、imwrite() を使用して画像を書き込みます。

于 2012-04-10T09:44:13.663 に答える