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」?或者,您可能想要獲得一組圖像,其中每個圖像都是不同的紅色方框?請解釋你的意思是「消除」。 –
我想區分文本區域框和非文本區域框。而不是從紅色框中提取文本。 –