Deleting Objects in Binary Image

2 ビュー (過去 30 日間)
S_run
S_run 2021 年 2 月 5 日
回答済み: Nitin Kapgate 2021 年 2 月 8 日
Hello,
I have a binary image containing several white objects. I was able to identify which object I want to delete by using bwselect(), but when I tried to subtract the images(the main image with all objects - image containing only object I want to delete), the unwanted object was still there. How can I delete this object?
Thank you
  1 件のコメント
KALYAN ACHARJYA
KALYAN ACHARJYA 2021 年 2 月 5 日
Can you attach the sample image (specify the object differently, which to be deleted)?

サインインしてコメントする。

回答 (1 件)

Nitin Kapgate
Nitin Kapgate 2021 年 2 月 8 日
You can refer the following code snippet which demonstrates use of interactive behaviour of bwselect function to solve your problem.
close all;
BW = imread('circlesBrightDark.png');
% get a binary image wirh only white objects
BW = BW > 128;
% display original Binary image
figure
imshow(BW);
% You can use the bwselect function to select individual objects in a binary image.
% Specify pixels in the input image programmatically or interactively with a mouse.
% After you are done specifying the pixels in the object, double click within
% an object you want to keep in the output image.
% bwselect returns a binary image that includes only those objects from the
% input image that contain one of the specified pixels.
BW2 = bwselect;
% display BW2 image with selected objects
figure
imshow(BW2);
figure
subplot(1,2,1); imshow(BW);
subplot(1,2,2); imshow(BW2);

Community Treasure Hunt

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

Start Hunting!

Translated by