2
私はテキスト抽出フォームの画像に取り組んでいます。このため私はエッジ検出技術を使用しています。私はテキストまたは非テキスト領域で画像のエッジを検出しました。
イメージから非テキスト領域を削除したいと考えています。
どうすればいいですか?次の画像の非テキスト領域を除去するにはどうすればよいですか?
私がこれまで持っているコードは次のとおりです。
i = imread('t1.jpg');
i1 = rgb2gray(i);
imshow(i1);
i2 = edge(i1,'canny',0.3);
imshow(i2);
se = strel('square',2);
i3 = imdilate(i2,se);
imshow(i3);
i4 = imfill(i3,'holes');
imshow(i4);
[Ilabel num] = bwlabel(i4);
disp(num);
Iprops = regionprops(Ilabel);
Ibox = [Iprops.BoundingBox];
Ibox = reshape(Ibox,4,[]);
imshow(i);
hold on;
for cnt = 1:size(Ibox,2)
rectangle('position',Ibox(:,cnt),'edgecolor','r');
end
希望する出力は正確には何ですか?それは、赤い四角形に収まらないピクセルが白黒/「NaN」の画像ですか?あるいは、それぞれの画像が異なる赤い四角いエンクロージャーである画像のセル配列を取得したいでしょうか?あなたが「排除する」という意味を説明してください。 –
テキスト領域ボックスと非テキスト領域ボックスを区別したいと思います。赤いボックスからテキストを抽出する。 –