回复 #15 eight 的帖子
二值化后,白色区域的像素值都是1。乘不乘结果不影响吧?我没有按照形心的公式做。求得是所有像素位置的均值。不过在这种特殊情形下,按照形心的公式写出来后,还是均值。所以我认为结果应该是对的,红心画得有些大(对齐方式没修改,真正的点应该在红心的左上角)。如果有错,希望路过的指出 哦,对。rows 和 cols 是位置,vals 是值,我搞反了,呵呵
[ 本帖最后由 ChaChing 于 2010-4-18 15:25 编辑 ] 这里面m和n都有什么用啊 我换了图像,误差怎么这么大啊 原帖由 axz707 于 2007-10-17 18:22 发表 http://www.chinavib.com/forum/images/common/back.gif
这里面m和n都有什么用啊 我换了图像,误差怎么这么大啊
m 和 n 没有用
误差这么大,你可以先读懂花版主的代码然后自行修改。我猜是黑白搞反的问题,只要反色一下就ok了 嘿嘿 ,没注意,谢谢啊~~
这个不能以形心为中心,建立极坐标吗?
[ 本帖最后由 ChaChing 于 2010-4-18 15:28 编辑 ] 答案当然是肯定的,办法都是人想的,自己多摸索!
[ 本帖最后由 ChaChing 于 2010-4-18 15:32 编辑 ] 为什么不能啊:@Q 是这种做法根本不能实现吗? :@L 晕,答案是肯定的,当然是能了;@P 噢,吓死我了 ,我还以为是肯定不能呢~~那我再研究研究,你再帮我改改吧:loveliness: 这个问题我想了一下,可以用前面给出的公式求其形心,我的结果如下:
(其中我已经将图片改小了)
我把关键代码也顺便给出一下吧,以做参考:
area = sum(sum(im));
meanx = sum(sum(double(im).*x))/area;
meany = sum(sum(double(im).*y))/area;
[ 本帖最后由 ChaChing 于 2010-4-18 15:36 编辑 ] 对,这个就是按照形心计算公式直接求解的矢量化编程结果
[ 本帖最后由 ChaChing 于 2010-4-18 15:37 编辑 ]
回复 #26 xjzuo 的帖子
麻烦你能不能把整个程序贴上来啊 原帖由 axz707 于 2007-10-18 08:54 发表 http://www.chinavib.com/forum/images/common/back.gif麻烦你能不能把整个程序贴上来啊
貌似你有些太懒惰了,前辈把核心代码都给你了。:@L
往我给你的那个完整的程序里套以下就可以了
回复 #29 花如月 的帖子
你别老说我嘛~~:@( 我这么急,当然自己已经试过了,可是老出问题啊 以前我一点都不会matlab的。meanx = sum(sum(double(im).*x))/area;当中的x应该指的是横坐标吧?这还要定义吗?为什么我运行完了它说x没有定义呢? 以前没有学过matlab,但是因为现在你要使用,所以必须逼着自己去学,不然,人家给了答案你,有用吗?建议还是从头学起吧,在这里,你学到的是不仅仅是知识[ 本帖最后由 ChaChing 于 2010-4-18 15:32 编辑 ]