数字图像处理实验五

您所在的位置:网站首页 数字图像增强的目的 数字图像处理实验五

数字图像处理实验五

2023-12-17 13:02| 来源: 网络整理| 查看: 265

数字图像处理实验五 (图像增强) 实验内容: 对曝光不足的图像采用灰度线性变换对图像每一个像素灰度做线性拉伸。利用空间域平滑滤波器对图像进行平滑。利用Prewitt、Sobel对图像进行锐化。利用高斯低通滤波对图像进行平滑。 实验步骤: 对给定图像figure51做线性拉伸 I=imread('./figure51.jpg'); I=im2double(I); figure; subplot(1,2,1); imshow(I); xlabel('原图'); a = 1.5; b = -150; I2 = a .* I + b/255; subplot(1,2,2); imshow(I2); xlabel('a=1.5 b=-150 增强对比度'); I=imread('figure51.jpg'); I=im2double(I);

效果图:线性拉伸 2.使用给定的图像lena添加均值为0,方差为0.05的高斯噪声,进行3x3、5x5、7x7邻域平滑。

imag=imread('lena.jpg'); subplot(2,3,1);imshow(imag); xlabel('原图'); img_noise=double(imnoise(imag,'gaussian',0.05)); subplot(2,3,2);imshow(img_noise,[]); xlabel('添加均值为0 方差为0.005的噪声'); img_smoothed1=imfilter(img_noise,fspecial('average',3)); subplot(2,3,4);imshow(img_smoothed1,[]); xlabel('3*3 邻域平滑'); img_smoothed2=imfilter(img_noise,fspecial('average',5)); subplot(2,3,5);imshow(img_smoothed2,[]); xlabel('5*5邻域平滑'); img_smoothed3=imfilter(img_noise,fspecial('average',7)); subplot(2,3,6);imshow(img_smoothed3,[]); xlabel('7*7邻域平滑');

效果图:平滑 3.使用Prewitt、Sobel对给定的图像lena进行锐化。

I = imread("lena.jpg"); hx = [-1,-2,-1; 0,0,0; 1,2,1]; hy = hx'; gradx = imfilter(I,hx); grady = imfilter(I,hy); grad = abs(gradx)+abs(grady); hx1 = [-1,-1,-1; 0,0,0; 1,1,1]; hy1 = hx1'; gradx1 = imfilter(I,hx1); grady1 = imfilter(I,hy1); grad1 = abs(gradx1)+abs(grady1); subplot(2,2,1); imshow(I); xlabel("原始图"); subplot(2,2,2); imshow(grad); xlabel("Sobel算子锐化"); subplot(2,2,4); imshow(grad1); xlabel("Prewitt算子锐化");

效果图: 锐化

4.使用高斯低通滤波对图像进行平滑

I=imread('lena.jpg'); subplot(2,2,1); imshow(I); I1=fftshift(fft2(I)); [M,N]=size(I1); n = 2; sig=10; 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^2/(2*sig^2)))); I2(i,j)=H*I1(i,j); end end I2=ifftshift(I2); I3=real(ifft2(I2)); subplot(2,2,2); imshow(I3,[]); xlabel("sig = 10"); n = 2;sig=20; 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^2/(2*sig^2)))); I2(i,j)=H*I1(i,j); end end I2=ifftshift(I2); I3=real(ifft2(I2)); subplot(2,2,3); imshow(I3,[]); xlabel("sig = 20"); n=2;sig=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^2/(2*sig^2)))); I2(i,j)=H*I1(i,j); end end I2=ifftshift(I2); I3=real(ifft2(I2)); subplot(2,2,4); imshow(I3,[]); xlabel("sig = 40");

效果图:高斯低通

问题讨论:

基于灰度线性变换的图像增强将图像的每个像素灰度做线性拉伸,可以原本模糊不清的原图变得清晰,改善视觉效果。基于空间域平滑滤波的图像增强可以降噪,但是降低噪声的同时也会使图像在边缘和细节处变得模糊,邻域越大,降噪能力越强,图像就越模糊。基于空间域锐化滤波的图像增强,通过微分使得图像边缘和轮廓变得突出、清晰。使用Prewitt算子对水平好竖直两个方向的边缘进行增强,而Sobel算子对像素的4邻域采用带权的方法计算查分,对比来讲Sobel锐化的效果更加突出一些。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3