当前位置:文档之家› 数字图像处理程序

数字图像处理程序

数字图像处理程序数字图像处理实验图像处理实验(一)直方图灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。

灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。

1、灰度直方图(1)计算出一幅灰度图像的直方图clearclose allI=imread('004.bmp');imhist(I)title('实验一(1)直方图');(2)对灰度图像进行简单的灰度线形变换,figuresubplot(2,2,1)imshow(I);title('试验2-灰度线性变换');subplot(2,2,2)histeq(I);(3)看其直方图的对应变化和图像对比度的变化。

原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a’,b’]公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)figuresubplot(2,2,1)imshow(I)J=imadjust(I,[0.3,0.7],[0,1],1);title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)进行变换 '); subplot(2,2,2)imshow(J)subplot(2,2,3)imshow(I)J=imadjust(I,[0.5 0.8],[0,1],1);subplot(2,2,4)imshow(J)(4) 图像二值化(选取一个域值,(5) 将图像变为黑白图像)figuresubplot(2,2,1)imshow(I)J=find(I<150);I(J)=0;J=find(I>=150);I(J)=255;title(' 实验一(4)图像二值化 ( 域值为150 ) ');subplot(2,2,2)imshow(I)clc;I=imread('14499.jpg');bw=im2bw(I,0.5);%选取阈值为0.5figure;imshow(bw) %显示二值图象图象处理变换(二)1.傅立叶变换熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数分布.2.离散余弦变换熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换.% 图象的FFT变换clc;I=imread('005.bmp');subplot(1,2,1)imshow(I);title('原图');subplot(1,2,2)imhist(I);title('直方图');colorbar;J=fft2(I);figure;subplot(1,2,1)imshow(J);title('FFT变换结果');subplot(1,2,2)K=fftshift(J);imshow(K);title('零点平移');figure;imshow(log(abs(K)),[]),colormap(jet(64)),colorbar;title('系数分布图');% 图象的DCT变换RGB=imread('005.bmp');figure;subplot(1,2,1)imshow(RGB);title('彩色原图');a=rgb2gray(RGB);subplot(1,2,2)imshow(a);title('灰度图');figure;b=dct2(a);imshow(log(abs(b)),[]),colormap(jet(64)),colorbar;title('DCT变换结果');figure;b(abs(b)<10)=0;% idctc=idct2(b)/255;imshow(c);title('IDCT变换结果');图象处理变换(三)小波变换实验内容:熟悉小波变换的概念和原理,熟悉matlab小波工具箱主要函数的使用.利用二维小波分析对一幅图象作2层小波分解,并在此基础上提取各层的低频信息实现图像的压缩.程序如下:clcclose allcleara=imread('005.bmp');subplot(1,2,1);imshow(a);title('原始图象');I=rgb2gray(a);subplot(1,2,2);imshow(I);title('原始图象的灰度图');% 进行二维小波变换[a,b] = wavedec2(I, 2, 'bior3.7');% 提取各层低频信息figure;c = appcoef2( a, b, 'bior3.7', 1 );subplot(1,2,1);imshow(c, []);title('一层小波变换结果');d = appcoef2( a, b, 'bior3.7', 2 );subplot(1,2,2);imshow(d, []);title('二层小波变换结果');图象处理实验(四)模板运算一、实验内容:(1)平滑:平滑的目的是模糊和消除噪声。

平滑是用低通滤波器来完成,在空域中全是正值。

(2)锐化:锐化的目的是增强被模糊的细节。

锐化是用高通滤波器来完成,在空域中,接近原点处为正,在远离原点处为负。

利用模板进行图象增强就是进行模板卷积。

1、利用二个低通邻域平均模板(3×3和9×9)对一幅图象进行平滑,验证模板尺寸对图象的模糊效果的影响。

2、利用一个低通模板对一幅有噪图象(GAUSS白噪声)进行滤波,检验两种滤波模板(分别使用一个5×5的线性邻域平均模板和一个非线性模板:3×5中值滤波器)对噪声的滤波效果。

3、选择一个经过低通滤波器滤波的模糊图象,利用sobel和prewitt水平边缘增强高通滤波器(模板)对其进行高通滤波图象边缘增强,验证模板的滤波效果。

4、选择一幅灰度图象分别利用一阶Sobel算子和二阶Laplacian算子对其进行边缘检测,验证检测效果。

二、实验步骤:1、利用低通邻域平均模板进行平滑:I=imread('girl.bmp');subplot(1,3,1);imshow(I);title('原图');J=fspecial('average');J1=filter2(J,I)/255;subplot(1,3,2);imshow(J1);title('3*3滤波');K=fspecial('average',9);K1=filter2(K,I)/255;subplot(1,3,3);imshow(K1);title('9*9滤波');2、中值滤波和平均滤波I=imread('girl.bmp');J=imnoise(I,'gaussian',0,0.01); subplot(2,2,1);imshow(I);title('原图');subplot(2,2,2);imshow(J);title('noise');K=fspecial('average',5);K1=filter2(K,J)/255;subplot(2,2,3);imshow(K1);title('average');L=medfilt2(J,[3 5]);subplot(2,2,4);imshow(L);title('medium');3、高通滤波边缘增强I=imread('girl.bmp');subplot(2,2,1);imshow(I);title('original pic');J=fspecial('average',3);J1=conv2(I,J)/255;%J1=filter2(J,I)/255;subplot(2,2,2);imshow(J1);title('3*3lowpass');K=fspecial('prewitt');K1=filter2(K,J1)*5;subplot(2,2,3);imshow(K1);title('prewitt');L=fspecial('sobel');L1=filter2(L,J1)*5;subplot(2,2,4);imshow(L1);title('sibel');4、边缘检测分别用sobel和laplacian算子来进行,程序如下:I=imread('girl.bmp');subplot(1,3,1);imshow(I);title('original pic');K=fspecial('laplacian',0.7);K1=filter2(K,I)/100;subplot(1,3,2);imshow(K1);title('laplacian');L=fspecial('sobel');L1=filter2(L,I)/200;subplot(1,3,3);imshow(L1);title('sibel');图像处理实验(五)图像分割实验目的:1、学习边缘检测2、学习灰度阀值分割实验内容:1、分别用sobel、Laplacian-Gaussian方法对一幅灰度图像进行边缘提取,2、给出对比结果i=imread('eight.tif');figure;subplot(2,2,1);imshow(i);title('原始图像');subplot(2,2,3);imshow(i);title('原始图像');i1=edge(i,'sobel');subplot(2,2,2);imshow(i1);title('sober方法提取的边缘');i2=edge(i,'log');subplot(2,2,4);imshow(i2);title('Laplacian-Gaussian方法提取的边缘');比较提取边缘的效果可以看出,sober算子是一种微分算子,对边缘的定位较精确,但是会漏去一些边缘细节。

相关主题