1

我想通过 dwt2 检测图像的边缘。其实我是要模拟这篇文章的。

边缘检测的第一步是基于用零替换所有近似系数。但是当我用零替换近似系数时,边缘与文章中看到的结果不相似。

这是我的代码:

clc;
clear all,close all

img=imread('2.png');
img=img(:,:,1);
imshow(img);

L = medfilt2(img,[3 3]);

L=im2double(L);
[A,H,V,D]=dwt2(L,'haar');

A=zeros(size(A));


Q1 = idwt2(A,H,V,D,'haar');

figure;
subplot(1,2,1);
imshow(img);
subplot(1,2,2); 
imshow(Q1);`


enter code here
clc;
clear all,close all

img=imread('2.png');
img=rgb2gray(img);
L = medfilt2(img,[3 3]);
t=graythresh(L);
b=im2bw(L,t);
[A,H,V,D]=dwt2(b,'haar');
A1=zeros(size(A));
Q1 = idwt2(A1,H,V,D,'haar');
figure;
subplot(1,2,1);
imshow(img);
subplot(1,2,2);
imshow(Q1);
4

0 回答 0