声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1800|回复: 9

[工具箱] [求助]小波分析程序

[复制链接]
发表于 2006-4-17 14:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

使用道具 举报

发表于 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));
 楼主| 发表于 2006-4-18 09:14 | 显示全部楼层
<P>请问我用了这个可以显示图像,那现实出来的图像能用矩阵表示么?我用X1=imshow(uint8(CD./max(CD(:)).*256));<BR>后,X1是一个常数,不是矩阵,请问上面那个命令显示的图像不也是应改市图像的矩阵么?为什么会是一个值?</P>
发表于 2006-4-18 09:18 | 显示全部楼层

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

X1返回的是句柄
 楼主| 发表于 2006-4-18 09:20 | 显示全部楼层
那我怎样才能得到这个图像的矩阵呢?
发表于 2006-4-18 09:20 | 显示全部楼层

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

uint8(CD./max(CD(:)).*256)<BR>就是矩阵
 楼主| 发表于 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>[M,N]=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>难道分解后的能量会变大么?
 楼主| 发表于 2006-4-18 09:25 | 显示全部楼层
<P>clear</P>
<P> [X,map]=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>[M,N]=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>
发表于 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>[M,N]=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>程序你运行没运行阿?
 楼主| 发表于 2006-4-18 09:33 | 显示全部楼层
<P>我运行了,sum=114.99,sum1=136。36,原来是因为没有转换成unit8所以算出了比255大的数,可是现在转换后仍然是sum1〉sum,如果这样的话下面的程序就没办法运行了</P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 09:42 , Processed in 0.063096 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表