图像增强

图像增强

Scroll Down

图像增强

基本要求
理解基于灰度线性变换的图像增强原理,掌握其实现方法;理解基于空间域平滑滤波的图像增强原理,掌握其实现方法;理解基于空间域锐化滤波的图像增强原理,掌握其实现方法;理解基于高斯滤波的图像增强原理,掌握其实现方法;对实验结果进行分析,得出实验结论并撰写实验报告。

1. 实验内容

(1)对曝光不足的图像采用灰度线性变换对图像每一个像素灰度做线性拉伸。
clc;
close all;
clear all;
img = imread('figure51.jpg');
subplot(1, 2, 1);
imshow(img); title('实验人: 戚浩强'); xlabel('原始灰度图像');
a = 1.5;
b = -0.5;
img = im2double(img);
mi = min(img); ma = max(img);
img = a .* img + b;
subplot(1, 2, 2);
imshow(img); title('实验人: 戚浩强'); xlabel('灰度线性变换以后(a=1.5, b=-0.5)');

image.png

(2)利用空间域平滑滤波器对图像进行平滑。
clc;
clear all;
close all;
img = imread('lena.jpg');
subplot(2, 2, 1); imshow(img); title('实验人: 戚浩强'); xlabel('原始lena图像');
img_noise = double(imnoise(img, 'gaussian', 0, 0.05));
subplot(2, 2, 2);imshow(img_noise, []); title('实验人: 戚浩强'); xlabel('均值为0,方差为0.05的高斯噪声');
img_smoothed_3 = imfilter(img_noise, fspecial('average', 3));
subplot(2, 2, 3);imshow(img_smoothed_3, []); title('实验人: 戚浩强'); xlabel('3×3领域平滑');
img_smoothed_5 = imfilter(img_noise, fspecial('average', 5));
subplot(2, 2, 4);imshow(img_smoothed_5, []); title('实验人: 戚浩强'); xlabel('5×5领域平滑');

image.png

(3)利用Prewitt、Sobel对图像进行锐化。
clc;
clear all;
close all;
img = imread('lena.jpg');
h1 = fspecial('prewitt');     %选择prewitt算子
j1 = filter2(h1, img);        %卷积运算
subplot(1, 2, 1); imshow(j1); title('实验人: 戚浩强'); xlabel('prewitt锐化处理结果');
h2 = fspecial('sobel');     %选择sobel算子
j2 = filter2(h2, img);      %卷积运算
subplot(1, 2, 2); imshow(j2);  title('实验人: 戚浩强'); xlabel('sobel锐化处理结果');

image.png

(4)利用高斯滤波对图像进行平滑。
clc;
clear all;
close all;
I=imread('lena.jpg');
figure;
subplot(2,2,1),imshow(I),title('实验人: 戚浩强'),xlabel('原始图像');
I1=fftshift(fft2(I));
[M,N]=size(I1);
n=2;
sig1=10;
sig2=20;
sig3=40;
n1=floor(M/2);n2=floor(N/2);
for i=1:M
    for j=1:N
        d=sqrt((i-n1)^2+(j-n2)^2);
        H=exp(-(d/sig1)^n);
        I2(i,j)=H*I1(i,j);
        H2=exp(-(d/sig2)^n);
        I3(i,j)=H2*I1(i,j);
        H3=exp(-(d/sig3)^n);
        I4(i,j)=H3*I1(i,j);
    end
end
I2=ifftshift(I2);
T2=real(ifft2(I2));
subplot(2,2,2),imshow(T2,[]),title('实验人: 戚浩强'),xlabel('sig^2=100高斯低通滤波');
I3=ifftshift(I3);
T3=real(ifft2(I3));
subplot(2,2,3),imshow(T3,[]),title('实验人: 戚浩强'),xlabel('sig^2=400高斯低通滤波');
I4=ifftshift(I4);
T4=real(ifft2(I4));
subplot(2,2,4),imshow(T4,[]),title('实验人: 戚浩强'),xlabel('sig^2=1600高斯低通滤波');

image.png

总结

实验一:
这个实验是灰度线性变换,最大的难点就在于斜率a和截距b的选择,选择不同,效果差异也很大。

实验二:
在添加高斯噪声后出现了很多明显的噪点,经过平滑滤波器以后噪点明显的变得更加平滑了。

实验三:
利用Prewitt、Sobel对图像进行锐化两者效果差异不太明显。两者的锐化效果都很明显。

实验四:
这个实验主要就是确定高斯低通滤波器的公式,确定以后就是套公式了。