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
これは結果の画像です。
これについてもっと良い考えはありますか?
私に提案してもらえますか?