实验三 图像边缘检测
一、实验目的
熟悉数字图像边缘检测的一般方法,包括:
-
掌握高通滤波增强图像边缘
-
基于微分算子的边缘检测
二、实验内容
- 将一幅 256 × 256 256 \times 256 256×256 的灰度图像,通过二维高斯函数的高通滤波,然后用修改灰度直方图的形式改善图像效果。
- 对实验图像用
roberts
算子、sobel
、log
算子检测边缘
三、实验原理与编码
高通滤波增强图像边缘
图像的高通滤波与低通滤波作用相反,可以增强图像的边缘。
可见经过高通滤波使图中区域的边界得到明显增强,但同时滤掉了低频分量,使图中原来比较平滑的区域内部的灰度动态范围被压缩,因而整幅图比较昏暗。
编码 main.m
[f1,f2] = freqspace(21,'meshgrid');
Hd = ones(21);
r = sqrt(f1.^2 + f2.^2);
Hd((r<0.5)) = 0;
win = fspecial('gaussian',21,2);
win = win ./ max(win(:));
figure
h1 = fwind2(Hd,win);
freqz2(h1)
A = imread('fruit.jpg');
I = rgb2gray(A);
I1=double(I);
I2=filter2(h1,I1);
I3=histeq(I2);
figure,imshow(I)
figure,imshow(I2)
figure,imshow(I3)
I4=edge(I,' roberts');
figure,imshow(I4)
I5=edge(I,'prewitt');
figure,imshow(I5)
结果如下