【matlab】:matlab求图像质心算法

23 篇文章 15 订阅

这篇文章的起因是因为我在做一个项目,其中的要求就是求图像的质心,这个算法初步实现了一个功能:
给出一张图片如下:
这里写图片描述

然后把这个图片保存到d:\测试.jpg目录,最后运行我的函数即可

写的思路:
对于图片,质心肯定会数值不一样,这时候可以通过这种想法,然后设定阈值,对于图片数据进行二重循环,最终找到质心那块范围的坐标,最后就能够求出质心

下面附上源代码:(一个名为centroid的matlab函数)

function y = centroid()
I = imread('d:\\测试1.jpg');
[M,N,P] = size(I);
int8 sumx ;
int8 sumy ;
int8 count ;
 sumx = 0;
 sumy = 0;
 count = 0;
 int8 R ;
 int8 G ;
 int8 B ;
 R = 20; G = 200;B = 200;
for i = 1:1:M
    for j = 1:1:N
            if I(i,j,1)>=R &&  I(i,j,2)>=G && I(i,j,3)>=B
                 sumx = sumx + i;
                 sumy = sumy +j;
                 count = count + 1;
            end
    end
end
sumx = sumx / count;    %sumx存储了x轴坐标
sumy = sumy / count;    %sumy存储了y轴坐标
disp(sumx);disp(sumy);

运行效果图:
这里写图片描述

运行结果已经求出了质心

  • 12
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值