画像認識における突出した部分の検出および削除方法について
4 views (last 30 days)
Show older comments
下のような画像の赤斜線部のみを削除する方法はありますでしょうか?
データはバイナリイメージで2値化されています。
認識している画像は基本的には左のような図のため、bwareafiltで、最大構造を抽出することで対応できます。
しかし、ときに右のような画像が出てきます。毎回がくっついているわけではありません。
2つの物体のくっつき具合(クビレ具合)も変化するため、閾値(あまりにくっついていれば1つとして認識)できればベストです。
ご教示いただけますと幸いです。
0 Comments
Accepted Answer
Hiroshi Iwamura
on 19 Aug 2024
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)
More Answers (0)
See Also
Categories
Find more on ビッグ データの処理 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!