How to mark the foreign object inside this bottle.

2 次查看(过去 30 天)
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.

采纳的回答

Image Analyst
Image Analyst 2020-12-23
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 个评论
MOHAMMAD AZRUL AIMAN
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 2020-12-30
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.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by