How to preprocess this image.?

1 view (last 30 days)
Karthik K
Karthik K on 28 Mar 2019
Moved: Rik on 30 Dec 2022
Hello. I am preprocessing the image using convexhull method. Initial and intermediate methods are fine. The last method in displaying preprocessing image I am not getting the required display. I need only the rounded coins to get displayed at the end of preprocessed image without any black pixels. But it is displaying only with white pixel values. Pixel vales are copied properly from the original image(I) to preprocessed Image(PI). I am executing with the following code.
clc;clear;
subplot(2,3,1);
I = imread('coins.png');
imshow(I);
title('Original');
subplot(2,3,2);
BW = imbinarize(I);
imshow(BW);
title('Binary');
subplot(2,3,3);
CH = bwconvhull(BW);
imshow(CH);
title('Union Convex Hull');
subplot(2,3,4);
CH_objects = bwconvhull(BW,'objects');
imshow(CH_objects);
title('Objects Convex Hull');
for a=1:size(I,1)
for b=1:size(I,2)
if(CH_objects(a,b)==0)
PI(a,b)=1;
else
PI(a,b)=I(a,b);
end
end
end
subplot(2,3,5);
imshow(PI);
title('Preprocessed Image');
  1 Comment
S WASIQUE ALI
S WASIQUE ALI on 6 May 2022
Moved: Rik on 30 Dec 2022
I want to process the backround and foreground separately. For background i want to threshold the Intensity value Intensity value <1 to be zero and rest of the Intensity value should remain unaltered. please help me out with some code

Sign in to comment.

Accepted Answer

Catalytic
Catalytic on 28 Mar 2019
Edited: Catalytic on 28 Mar 2019
PI=I;
PI(~CH_objects)=255;
imshow(PI);
title('Preprocessed Image');
Capture.PNG

More Answers (0)

Community Treasure Hunt

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

Start Hunting!