用Matlab将一副256*256灰度图进行小波变换和逆变换,得到的图颜色加深了

i=imread('A.tif');[A,B,C,D]=dwt2(i,'haar');[a,b,c,d]=dwt2(A,'haar');A=idwt2(a,b,c,d,'... i=imread('A.tif');

[A,B,C,D]=dwt2(i,'haar');
[a,b,c,d]=dwt2(A,'haar');

A=idwt2(a,b,c,d,'haar');
i=idwt2(A,B,C,D,'haar');
imshow(i,[]);

逆变换后的灰度图显得颜色更深,这是正常的吗?
有没有办法逆变换后的图和原图一样,或看不出差别呢?
展开
 我来答
showtime_97
推荐于2017-10-03 · TA获得超过4784个赞
知道大有可为答主
回答量:1005
采纳率:90%
帮助的人:828万
展开全部
头一次见人用这样的方式做多层的DWT,很有创新性,但从小波理论和物理意义上是完全错误的,您压根就没明白DWT的做法。dwt2(A,'haar');中的A是[A,B,C,D]=dwt2(i,'haar');得出的小波系数A,它不是你要分解的信号,从物理意义上讲你的A是没有量纲的小波系数,用于dwt2(A,'haar');这种格式就是错误的,因为使用dwt2函数时,这里的A就应该是你要分析的信号,应该是有量纲的。
另外,从DWT的小波理论讲,单层(单一尺度)的函数dwt2分解时,其尺度和平移参数的运作和多层DWT时是不同的,用多个单层的分解妄图模仿多层分解从小波理论的原理上讲就已经是错误的了,更别说还用物理含义的量纲问题。
所以这中做法本身就是错误的,从意义上分析它是混乱的(有量纲的和无量纲的量混合计算,天知道得到的结果应怎么去解释),从数值上分析它可能会有溢出的问题,逆变换重构后其值域可能难于预测。因此别玩得这么有新意了,老老实实用wavedec2和waverec2吧!
更多追问追答
追问

那能不能直接告诉我,怎么对这幅图做二阶小波变换,得到这个呢

谢谢

追答
我已经说的很清楚了,您受累查查帮助文档,那两个函数怎么用就行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式