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