ljyoicqn 发表于 2006-4-17 14:39

[求助]小波分析程序

我的程序用来算图像的能量,但是进行了一层分解以后我算出来的能量竟然比原来还大,甚至超过了255。请问各位大虾这是怎么回事?还有就是我在画CA,CD,CV,CH四个分量的图像的时候如果全用image命令就会使CA图像全白,全用imshow命令就会变成全彩色,请问这是怎么回事?
请各位大虾帮忙看看我的程序到底错在哪了,谢谢

happy 发表于 2006-4-18 08:56

回复:(ljyoicqn)[求助]小波分析程序

subplot(322);<BR>imshow(uint8(CA./max(CA(:)).*256));<BR>axis square<BR>subplot(323);<BR>imshow(uint8(CA./max(CA(:)).*256));<BR>axis square<BR>subplot(324);<BR>imshow(uint8(CV./max(CV(:)).*256));<BR>axis square<BR>subplot(325);<BR>imshow(uint8(CD./max(CD(:)).*256));

ljyoicqn 发表于 2006-4-18 09:14

<P>请问我用了这个可以显示图像,那现实出来的图像能用矩阵表示么?我用X1=imshow(uint8(CD./max(CD(:)).*256));<BR>后,X1是一个常数,不是矩阵,请问上面那个命令显示的图像不也是应改市图像的矩阵么?为什么会是一个值?</P>

happy 发表于 2006-4-18 09:18

回复:(ljyoicqn)[求助]小波分析程序

X1返回的是句柄

ljyoicqn 发表于 2006-4-18 09:20

那我怎样才能得到这个图像的矩阵呢?

happy 发表于 2006-4-18 09:20

回复:(ljyoicqn)[求助]小波分析程序

uint8(CD./max(CD(:)).*256)<BR>就是矩阵

ljyoicqn 发表于 2006-4-18 09:25

imshow(uint8(CA./max(CA(:)).*256));<BR>X1=uint8(CA./max(CA(:)).*256)<BR>X1=double(X1)<BR>sum1=0<BR>=size(X1);<BR>sum1=0<BR>for i=1:M<BR>    for j=1:N<BR>      sum1=sum1+abs(X1(i,j));<BR>    end<BR>end<BR>sum1=sum1/(M*N)<BR>我用上面的程序求图像的能量,得到的结果仍然比图像分解前的能量大啊,请问这是怎么回事?<BR>难道分解后的能量会变大么?

ljyoicqn 发表于 2006-4-18 09:25

<P>clear</P>
<P> =imread('Fig103.bmp')</P>
<P>figure(1)<BR>% nbc = size(map,1);<BR>imshow(X)<BR>X=double(X)<BR>% imshow(wcodemat(X,nbc));<BR>% subplot(321);<BR>% % imshow(X);<BR>% axis square<BR>=size(X);<BR>% float sum<BR>sum=0<BR>for i=1:M <BR>    for j=1:N<BR>      sum=sum+abs(X(i,j));<BR>    end<BR>end<BR>sum=sum/(M*N)<BR>这是总能量的程序</P>

happy 发表于 2006-4-18 09:31

回复:(ljyoicqn)imshow(uint8(CA./max(CA(:)).*256...

<DIV class=quote><B>以下是引用<I>ljyoicqn</I>在2006-4-18 9:25:03的发言:</B><BR>imshow(uint8(CA./max(CA(:)).*256));<BR>X1=uint8(CA./max(CA(:)).*256)<BR>X1=double(X1)<BR>sum1=0<BR>=size(X1);<BR>sum1=0<BR>for i=1:M<BR>    for j=1:N<BR>      sum1=sum1+abs(X1(i,j));<BR>    end<BR>end<BR>sum1=sum1/(M*N)<BR>我用上面的程序求图像的能量,得到的结果仍然比图像分解前的能量大啊,请问这是怎么回事?<BR>难道分解后的能量会变大么?</DIV>
<br>自己再好好想想吧M*N个256以内的数取平均怎么可能比256大<BR>程序你运行没运行阿?

ljyoicqn 发表于 2006-4-18 09:33

<P>我运行了,sum=114.99,sum1=136。36,原来是因为没有转换成unit8所以算出了比255大的数,可是现在转换后仍然是sum1〉sum,如果这样的话下面的程序就没办法运行了</P>
页: [1]
查看完整版本: [求助]小波分析程序