图像小波变换去噪——MATLAB实现
2017-11-09 15:46
239 查看
clear; [A,map]=imread('C:\Users\wangd\Documents\MATLAB\1.jpg'); X=rgb2gray(A); %画出原始图像 subplot(2,2,1);imshow(X); title('原始图像'); %产生含噪图像 x=imnoise(X ,'gaussian',0,0.003); %画出含噪图像 subplot(2,2,2);imshow(x); title('含噪声图像'); %下面进行图像的去噪处理 %用小波函数sym4对x进行2层小波分解 [c,s]=wavedec2(x,2,'sym4'); %提取小波分解中第一层的低频图像,即实现了低通滤波去噪 a1=wrcoef2('a',c,s,'sym4'); % a1为 double 型数据; %画出去噪后的图像 subplot(2,2,3); imshow(uint8(a1)); % 注意 imshow()和image()显示图像有区别,imshow()不能显示 double 型数据,必须进行转换 uint8(a1); title('第一次去噪图像'); % 并且image() 显示图像有坐标; %提取小波分解中第二层的低频图像,即实现了低通滤波去噪 %相当于把第一层的低频图像经过再一次的低频滤波处理 a2=wrcoef2('a',c,s,'sym4',2); %画出去噪后的图像 subplot(2,2,4); imshow(uint8(a2)); %image(a2); title('第二次去噪图像'); %保存图像 imwrite(x,'C:\Users\wangd\Desktop\2.jpg'); imwrite(uint8(a1),'C:\Users\wangd\Desktop\3.jpg'); %imwrite()保存图像,也需要将数据类型转化为uint8 imwrite(uint8(a2),'C:\Users\wangd\Desktop\4.jpg');
相关文章推荐
- 数字图像处理,小波变换一维Mallat算法的C++实现(matlab验证)
- 图像小波变换的matlab实现
- matlab实现图像旋转
- Matlab实现灰度图像的水平和垂直投影
- [图像]图像灰度均衡化和灰度直方图(Matlab实现)
- 图像处理学习笔记之MATLAB中imhist、imadjust、stretchlim函数实现
- 【转】应用小波图像去噪的Matlab 实现
- matlab图像小波变换-初步1
- Matlab---图像滤波之各种滤波器汇总实现
- matlab练习程序(图像Haar小波变换)
- matlab 实现图像的二值化、对比度拉伸变化
- [图像]Canny检测的Matlab实现(含代码)
- Matlab实现CT、MRI多模态图像配准
- 数字图像去噪典型算法及matlab实现
- 基于空间相关的图像模板匹配及MATLAB实现
- Matlab实现图像分割
- MATLAB中实现图像的空间域滤波和频率域滤波
- matlab实现图像DCT变换
- 基于DCT的图像压缩及Matlab实现
- 将CCD的RAW图像格式文件直接读入到MATLAB中实现