0

Matlabプログラムを使用しています。

白黒画像から直線を削除するにはどうすればよいですか?

サンプル画像は次のとおりです。

ここに画像の説明を入力してください

4

1 に答える 1

0

すでに結果が出ていますが、

これは私のコードです。

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

これは結果の画像です。

ここに画像の説明を入力

これについてもっと良い考えはありますか?

私に提案してもらえますか?

于 2013-03-04T14:46:46.123 に答える