Looking to identify a football from an image

10 次查看(过去 30 天)
I currently have a still image of a football about to be kicked. I would like to identify the ball and it's center.

回答(1 个)

Kevin Holly
Kevin Holly 2022-9-30
RGB = imread('YourImage.png');
% Convert RGB image to lab space
I = rgb2lab(RGB);
% Apply thresholds
BW = (I(:,:,1) >= 14.5 ) & (I(:,:,1) <= 89.77) & ...
(I(:,:,2) >= 0.12) & (I(:,:,2) <= 12.5) & ...
(I(:,:,3) >= 3.8) & (I(:,:,3) <= 33.0);
% Open mask
se = strel('disk', 13,0);
BW = imopen(BW, se);
% Filter out smaller objects
BW=bwareafilt(BW,[50000 Inf]);
% Find Centroid and Area of object
rp = regionprops(BW,"Centroid","Area")
rp = struct with fields:
Area: 58864 Centroid: [644.7752 215.7900]
% Display masked image for verfication purposes
maskedRGBImage = RGB;
maskedRGBImage(repmat(~BW,[1 1 3])) = 0;
imshow(maskedRGBImage)
% Add marker on centroid
hold on
scatter(rp.Centroid(1),rp.Centroid(2),'b','filled')
  1 个评论
Michael Sposato
Michael Sposato 2022-10-5
I also need this to work for other images as well. What is there to change to do this? I attached another sample image as well.
Also how is the centroid calculated? Is it by the extremes or by matlab calculating the area of the ellipse?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by