您的位置:首页 > 编程语言 > MATLAB

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

2016-03-22 16:26 597 查看
这篇文章的起因是因为我在做一个项目,其中的要求就是求图像的质心,这个算法初步实现了一个功能:

给出一张图片如下:



然后把这个图片保存到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);


运行效果图:



运行结果已经求出了质心
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: