How to mark the foreign object inside this bottle.

3 views (last 30 days)
Hello, i need some help, i got image of beverage with sample of foreign object inside. so how to make a mark (red outline or fill the foreign object with red colour) the area of the foreign object. here i attach my simple code and picture. thank you.

Accepted Answer

Image Analyst
Image Analyst on 23 Dec 2020
Your best bet might be to take a photo of a perfect sample and then subtract them. Any pixel that is not zero or slightly above is bad. Or you could try the Color Thresholder app on the Apps tab of the tool ribbon to find any non-green pixels.
  7 Comments
MOHAMMAD AZRUL AIMAN
MOHAMMAD AZRUL AIMAN on 30 Dec 2020
i working with imoverlay, but after threshhold the image, i got many small pixel. did u have any solution to remove unwanted pixel and left the contamination pixel only
Image Analyst
Image Analyst on 30 Dec 2020
After subtraction, you have to threshold the subtraction image to only find differences that exceed a certain difference.
% Convert to lab color space
labImageRef = rgb2lab(rgbImageRef);
% Convert to lab color space
labImageTest = rgb2lab(rgbImageTest);
% Get color differences in each color channel.
deltaL = labImageRef(:, :, 1); - labImageTest(:, :, 1);
deltaA = labImageRef(:, :, 2); - labImageTest(:, :, 2);
deltaB = labImageRef(:, :, 3); - labImageTest(:, :, 3);
% Get the overall color difference Delta E (See Wikipedia on Color Difference)
% https://en.wikipedia.org/wiki/Color_difference
deltaE = sqrt(deltaL .^ 2 + deltaA .^ 2 + deltaB .^ 2);
majorDifferences = deltaE > 8; % Adjust number as needed.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!