概述
上一篇文章中我们实现了小波的一维、二维信号分解与重构,其中的二维信号分解与重构,只要稍作修改,就可以实现图像的分解和重构了。修改的工作,主要是对图像信号进行规范化处理、数据格式转换和绘图细节处理等。
简单起见,我们从黑白(灰度)图像的分解、重构说起,因为彩色图像的处理要复杂一点。在本文中,我们使用著名的Lena图作为原始图像。
图1
首先,为了实现图像的N层分解,对一幅m行n列的黑白图像,我们要对其进行规范化处理,使其能被2的N次方整除。以下的modmat() 函数实现此功能:
function y=modmat(x,dim)
% 函数 MODMAT() 对输入矩阵x进行规范化,使其行列数均能被 2^dim 整除
% 输入参数:x —— r*c 维矩阵;
% dim —— 矩阵重构的维数
% 输出参数:y —— rt*ct 维矩阵,mod(rt,2^dim)=0,mod(ct,2^dim)=0
[row,col]=size(x); % 求出输入矩阵的行列数row,col
rt=row - mod(row,2^dim); % 将row,col分别减去本身模 2^dim 得到的数
ct=col - mod(col,2^dim); % 所得的差为rt、ct,均能被 2^dim 整除
y=x(1:rt,1:ct); % 输出矩阵 y 为输入矩阵 x 的 rt*ct 维子矩阵
然后,将规范化后的图像的数据格式由适合显示图像的uint8格式转换为适合数值处理的double格式&
最后
以上就是美满火车为你收集整理的matlab小波分解图像,MATLAB小波图像分解的全部内容,希望文章能够帮你解决matlab小波分解图像,MATLAB小波图像分解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复