画像認識における突出​した部分の検出および​削除方法について

조회 수: 6 (최근 30일)
HanaHana
HanaHana 2024년 8월 9일
댓글: HanaHana 2024년 8월 22일
下のような画像の赤斜線部のみを削除する方法はありますでしょうか?
データはバイナリイメージで2値化されています。
認識している画像は基本的には左のような図のため、bwareafiltで、最大構造を抽出することで対応できます。
しかし、ときに右のような画像が出てきます。毎回がくっついているわけではありません。
2つの物体のくっつき具合(クビレ具合)も変化するため、閾値(あまりにくっついていれば1つとして認識)できればベストです。
ご教示いただけますと幸いです。

채택된 답변

Hiroshi Iwamura
Hiroshi Iwamura 2024년 8월 19일
Image Processing Toolbox をお持ちであれば、モルフォロジーを使って色々試してみるとできるかとは思います。
以下は例です。
中段は上記画像をそのまま使うための背景除去とかなので、なくても大丈夫かもしれません。
I = imread("https://www.mathworks.com/matlabcentral/answers/uploaded_files/1750279/image.png");
BW = rgb2gray(I);
BW = imbinarize(BW);
imshow(BW)
CC = bwconncomp(BW);
p = regionprops(CC,"Area");
[maxArea,maxIdx] = max([p.Area]); % background image area
idx = setdiff(1:CC.NumObjects,maxIdx);
BW2 = cc2bw(CC,ObjectsToKeep=idx); % clear background
imshow(BW2)
se = strel('disk',25);
BW3 = imopen(BW2, se);
imshow(BW3)
  댓글 수: 1
HanaHana
HanaHana 2024년 8월 22일
ご回答ありがとうございます。
モルフォロジーというものがあるのですね。解決のコードまでお示しありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품


릴리스

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!