微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试使用image-proc工具箱中的regionprops测量高尔夫球的直径

如何解决尝试使用image-proc工具箱中的regionprops测量高尔夫球的直径

我写了一个程序来拍摄高尔夫球的图像, 处理它以创建一个二进制图像,该图像仅表示白色的球, 图片的其余部分(背景)为黑色。 我想使用内置函数regionprops来计算高尔夫球的直径。

this is the picture of the golf ball

我的代码

img = imread("golf2.jpg");

%% part 1
img_R = img(:,:,1);
img_G = img(:,2);
img_B = img(:,3);

figure (1)
subplot(2,2,1); imshow(img);
title('original image');
subplot(2,2); imshow(img_R);
title('R plane image');
subplot(2,3); imshow(img_G);
title('G plane image');
subplot(2,4); imshow(img_B);
title('B plane image');

figure(2)
imhist(img_B)

%% part 2
img_grayscale = imadjust(img_B);
[row,col] = size(img_grayscale);
for i = 1:row
    for j = 1:col
        if (img_grayscale(i,j) < 100) 
            img_grayscale(i,j) = 0;
        else
            img_grayscale(i,j) = 255;
        end
    end
end
figure(3)
imshowpair(img_grayscale,img_B,'montage')

%% part 3
BW = img_grayscale;
fill = imfill(BW,'holes');
figure; imshow(fill)
se = strel('disk',10);
open = imopen(fill,se);
figure(4)
imshow(open)

%% part 4
diameter = regionprops(open,'MajorAxisLength')
figure(5)
# for doing a measurement myself and checking the answer
imshow(img)
d = imdistline;

我的直径输出是(而且我不知道为什么它显示7次):

直径=

具有字段的255×1结构数组:

MajorAxisLength

直径=

具有字段的255×1结构数组:

MajorAxisLength

直径=

具有字段的255×1结构数组:

MajorAxisLength

直径=

具有字段的255×1结构数组:

MajorAxisLength

直径=

具有字段的255×1结构数组:

Centroid

直径=

具有字段的255×1结构数组:

MinorAxisLength

直径=

具有字段的255×1结构数组:

MajorAxisLength

我很高兴知道如何解决它,谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。