24小时热门版块排行榜    

查看: 2456  |  回复: 8

Allen2014

铜虫 (小有名气)

[求助] 如何求下面这幅图像的质心?

前言:现在有一幅图像,图像包含很多小五角星,现在需要用matlab求出每个小五角星的质心,然后用记号标记下,同时要算出每个小五角星的质心,然后将所有小五角星的质心坐标数值保存起来。还望各位指导下,给个思路,谢谢!

1.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
Allen2014: 金币+1 2013-05-09 10:17:15
用阀值二值化一下,然后直接求质心就可以了
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-05-07 22:04:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Allen2014

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2013-05-07 22:04:00
用阀值二值化一下,然后直接求质心就可以了

谢谢你,能具体给我说下思路吗?需要用循环吗?
3楼2013-05-07 22:23:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hnexplorer

金虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
Allen2014: 金币+3, ★★★很有帮助 2013-05-09 10:12:06
为了简化处理,将图片的白边缘裁剪掉了,centroids保存的就是所有质心坐标。下面是示意代码
im = imread('test3.jpg');
th = sum(im()/prod(size(im));
bw = im>th;
s  = regionprops(bw, 'centroid');
centroids = cat(1, s.Centroid);
imshow(bw)
hold on
plot(centroids(:,1), centroids(:,2), 'b*')
hold off
4楼2013-05-08 18:28:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Allen2014

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by hnexplorer at 2013-05-08 18:28:06
为了简化处理,将图片的白边缘裁剪掉了,centroids保存的就是所有质心坐标。下面是示意代码
im = imread('test3.jpg');
th = sum(im()/prod(size(im));
bw = im>th;
s  = regionprops(bw, 'centroid');
c ...

谢谢你的算法,通过你的regionprops函数,我利用matlab help 功能,更好了解了算法功能。你在算法里提到:th = sum(im()/prod(size(im));
bw = im>th;是否就是想过滤掉图片边缘上非小五角星的干扰点?谢谢!
5楼2013-05-09 10:15:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hnexplorer

金虫 (小有名气)

【答案】应助回帖

th = sum(im()/prod(size(im));
bw = im>th
这两句是根据你给的图片,采取的一个简单求取阈值的方法,bw是二值图。
6楼2013-05-09 15:44:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Allen2014

铜虫 (小有名气)

引用回帖:
6楼: Originally posted by hnexplorer at 2013-05-09 15:44:23
th = sum(im()/prod(size(im));
bw = im>th
这两句是根据你给的图片,采取的一个简单求取阈值的方法,bw是二值图。

谢谢!我还有2个问题。
第一:我运行算法后,发现在图像下边缘上有一些干扰点(不是半截五角星,而是一些像污点一样的东西),这些干扰点的质心也被标记出来了,这些质心是我不想要的,那我是不是在进行标记之前,先要进行形态学操作,过滤掉这些干扰点?
第二:小五角星的质心求出以后,所有质心的坐标数据保存在centriod数组中,这些坐标点数值的参考原点是在图片的左上角还是左下角?
谢谢!
7楼2013-05-10 08:50:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mengjingjing

金虫 (正式写手)

引用回帖:
7楼: Originally posted by Allen2014 at 2013-05-10 08:50:01
谢谢!我还有2个问题。
第一:我运行算法后,发现在图像下边缘上有一些干扰点(不是半截五角星,而是一些像污点一样的东西),这些干扰点的质心也被标记出来了,这些质心是我不想要的,那我是不是在进行标记之前, ...

第一,进行腐蚀膨胀运算即可;第二图像原点在左上角
8楼2013-05-10 22:33:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Allen2014

铜虫 (小有名气)

引用回帖:
8楼: Originally posted by mengjingjing at 2013-05-10 22:33:44
第一,进行腐蚀膨胀运算即可;第二图像原点在左上角...

谢谢!明白了!
9楼2013-05-11 08:44:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Allen2014 的主题更新
信息提示
请填处理意见