3
我正在寫一個matlab
程序,它將檢測自然場景圖像中的文本。我正在接受this video lecture and paper的幫助。我瞭解了幾個步驟,並進行了邊緣檢測(我在下面添加圖像)。現在我想從最終圖像中提取(分離出)僅文本。我怎麼做?如何使用Matlab提取圖像中的文本區域?
我的代碼:
i = imread('f:\new.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 92]);
imshow(i);
hold on;
for cnt = 1:92
rectangle('position',Ibox(:,cnt),'edgecolor','r');
end
最終圖像:
謝謝你的回答。但是,我怎樣才能裁剪文本區域,因爲圍繞許多不必要的事物都有邊界框?你能提供一些幫助嗎? – Heisenberg
@Heisenberg我需要更具體一點:1.找出你的特定情況下的邊界座標的程序? 2.獲得連接的字母區域?我目前無法做到,但可能會晚點... – plesiv
感謝您的幫助。我現在至少對下一步做什麼有了一些線索:) – Heisenberg