欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

小波包在边缘检测的应用

程序员文章站 2024-01-28 09:56:52
...

小波包用于边缘检测


小波包分解后得到的图像序列由近似部分和细节部分组成,近似部分去除了高频分量,因此可以检测到原图像中检测不到的边缘。

clear all;
load bust;            %装载并显示原始图像
%加入含噪
init=2055615866;
% 用来控制随机数生成状态的。init代表随机数生成机所处的状态。
% 指定特定的init,则之后生成的随机数序列就是固定的。
randn('seed',init);
X1=X+20*randn(size(X));
subplot(2,2,1);image(X1);
colormap(map);
title('原始图像');
axis square;
%用小波db4对图像X进行一层小波包分解
%wpdec2完成对图像的一层小波分解
%T是小波包树
%小波包树左边的节点是上一层的低通滤波,右边的节点是高通滤波 [1 0]就是第一层分解的近似系数
T=wpdec2(X1,1,'db4');
%重构图像近似部分
A=wprcoef(T,[1 0]);
subplot(2,2,2);image(A);
title('图像的近似部分');
axis square;
%%原图像的边缘检测
BW1 = edge(X1,'prewitt');
subplot(2,2,3);imshow(BW1);
title('原图像的边缘');
axis square;
%%图像近似部分的边缘检测
BW2= edge(A,'prewitt');
subplot(2,2,4);imshow(BW2);
title('图像近似部分的边缘');
axis square;

小波包在边缘检测的应用
哈哈哈,感觉两者都半斤八两,不咋好!