关于图象原点矩的累加问题
http://www1.freep.cn/Photo.php?url=photo5/0705281643051402.JPG我想请教一下如何实现这个式子
我自己这样编写的
=size(I1);
sumn=0;
summ=0;
for m=1:M,
for n=1:N,
sumn=sumn+m.^p.*n.^q.*I1(m,n);
end
summ=summ+sumn;
end
m(p,q)=summ;
运行的时候总是报错说p q没有定义
可是我不知道该如何定义
麻烦大家帮忙看看
谢谢了
[ 本帖最后由 eight 于 2007-5-29 10:54 编辑 ] 譬如p=2;q=3;
不用循环方式的完整代码如下:
=size(I1);
p=2;q=3;
=meshgrid(1:M,1:N);
Z=X.^p.*Y.^q.*I1;
m_pq=sum(Z(:)); 谢谢
因为在以后的计算中需要用到p q为任何值的时候的m_pq
所以我想是不是可以在不给p q赋具体值的情况下得出m_pq
然后在以后的运算中方便的调用p q为任何值的时候的m_pq 原帖由 咿呀咿呀吆 于 2007-5-28 17:34 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢
因为在以后的计算中需要用到p q为任何值的时候的m_pq
所以我想是不是可以在不给p q赋具体值的情况下得出m_pq
然后在以后的运算中方便的调用p q为任何值的时候的m_pq
建议做成函数,p、q作为输入 原帖由 eight 于 2007-5-28 17:38 发表 http://www.chinavib.com/forum/images/common/back.gif
建议做成函数,p、q作为输入
谢谢,我再想想看
另外
??? Error using ==> .*
Function '.*' is not defined for values of class 'uint8'.
这个报错是什么原因
我用的是二值图象
是不是图象类型的问题 原帖由 咿呀咿呀吆 于 2007-5-28 17:48 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢,我再想想看
另外
??? Error using ==> .*
Function '.*' is not defined for values of class 'uint8'.
这个报错是什么原因
我用的是二值图象
是不是图象类型的问题
数据不是 矩阵性质吧 麻烦大家再帮我看看,我的程序是这样的:
data=('C:\Documents and Settings\Administrator\桌面\test12.jpg')
I1=imread(data);
level1=graythresh(I1);
A1=im2bw(I1,level1);
subplot(2,4,1),imshow(I1);
title('原图像');
subplot(2,4,5),imshow(A1);
title('原图像的二值图');
=size(I1);
p=0;q=0;
=meshgrid(1:M,1:N);
Z=X.^p.*Y.^q.*I1;
m_00=sum(Z(:))
这个报错完全不懂
麻烦大家指点一下
??? Error using ==> .*
Function '.*' is not defined for values of class 'uint8'.
Error in ==> C:\MATLAB6p5\work\absent.m
On line 12 ==> Z=X.^p.*Y.^q.*I1; 原帖由 咿呀咿呀吆 于 2007-5-29 10:48 发表 http://www.chinavib.com/forum/images/common/back.gif
麻烦大家再帮我看看,我的程序是这样的:
data=('C:\Documents and Settings\Administrator\桌面\test12.jpg')
I1=imread(data);
level1=graythresh(I1);
A1=im2bw(I1,level1);
subplot(2,4,1),imshow(I1);
...
I1 = double(I1);
Z=X.^p.*Y.^q.*I1;
试试吧,我这里电脑没有安装 matlab,所以不敢肯定,呵呵 可以了 谢谢
页:
[1]