我正在使用 Matlab 程序。
如何从黑白图像中删除直线?
示例图像如下:
我已经拿到结果了
这是我的代码。
RGBImg = imread('test.png');
grayImg = rgb2gray(RGBImg);
Img = im2bw(grayImg);
Img = ~Img;
bwImgs = bwareaopen(Img,70);
se90 = strel('line', 2, 90);
se0 = strel('line', 2, 0);
borderImgs = double(imdilate(bwImgs, [se90 se0]));
%figure; imshow(borderImgs);
%remove border
%***************************************************************
[row col dim] = size(RGBImg);
rmBorderImgs = RGBImg;
for r=1:row
for c=1:col
if borderImgs(r,c) == 1
rmBorderImgs(r,c,1) = 255;
rmBorderImgs(r,c,2) = 255;
rmBorderImgs(r,c,3) = 255;
end
end
end
这是结果图像;
你对此有更好的想法吗?
你能建议我吗?