数字图像处理上机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理上机实验报告
实验一:MATLAB工具箱的使用
实验目的:1
1:了解matlab语言,熟悉并掌握matlab相关的处理语句。
2:了解matlab在图像处理中的优缺点。
3 熟悉matlab的使用技巧,能用matlab熟悉的对数字图像进行各种处理。
1 将一幅灰度图像转换成索引色图像。
I=imread('ngc4024m.tif');
X=grayslice(I,16);
imshow(I)
figure,imshow(X,hot(16))
2:对一副图像进行二值化处理。
load trees
BW=im2bw(X,map,0.4);
imshow(X,map)
figure,imshow(BW)
3:将索引色图像转化成灰度图像。load trees
I=ind2gray(X,map);
imshow(X,map)
figure,imshow(I)
4:显示一幅图像。load clown image(10,10,X) colormap(map)
试验二图像变换
实验目的:
1 熟悉掌握DFT和DCT变换的matlab实现。
2 利用matlab试验DFT和DCT的变换,求出图像的频谱。
1.二维离散傅里叶变换的旋转型。
I=zeros(256,256);
>> I(28:228,108:148)=1;
>> imshow(I)
J=fft2(I);
>> F=abs(J);
>> J1=fftshift(F);figure
>> imshow(J1,[5 50])
>> I(28:228,108:148)=1;
>> J=imrotate(I,315,'bilinear','crop'); >>figure
>> imshow(J)
J1=fft2(J);
>> F=abs(J1);
>> J2=fftshift(F);figure
>> imshow(J2,[5 50])
2.图像的傅里叶频谱。
>> clear;
I(8:248,110:136)=5;
>> imshow(I)
J3=fft2(I);
>> F2=abs(J3);
>> J4=fftshift(F2);figure
>> imshow(J4,[5 30])
3.二维余弦正反变换在Matlab中的实现。RGB=imread('autumn.tif');
>> I=rgb2gray(RGB);
>> figure(1)
>> imshow(I);
figure(2);
J=dct2(I);imshow(log(abs(J)),[]);colormap(jet(64));colorbar;
figure(3);
>> J(abs(J)<10)=0;
>> K=idct2(J)/255;
>> imshow(K);
4.用DCT变换作图像压缩的例子。>> I=imread('cameraman.tif');
I=double(I)/255;
T=dctmtx(8);
B=blkproc(I,[8 8],'P1*x*P2',T,T');
>> mask=[1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0];
>> B2=blkproc(B,[8 8],'P1.*x',mask); >> I2=blkproc(B2,[8 8],'P1*x*P2',T',T); >> imshow(I),figure,imshow(I2)
实验三图像灰度修正技术和直方图均衡化
实验目的:
1掌握图像灰度修正技术的原理和实现方法。
2 掌握图像直方图均衡化处理的方法。
实验四图像平滑
实验目的:
1掌握常见图像噪声类型。
2理解邻域平均法和中值滤波的原理特点和适用对象。
3掌握边缘检测的基本思想和常见的边缘算子的使用方法。
实验五图像锐化
实验目的:
1掌握图像锐化的主要原理和使用方法。
2掌握常见的边缘提取算法。
3利用matlab实现图像的边缘检测。
1.显示图像‘cameraman.tif’的直方图。
I=imread('cameraman.tif');
>> subplot(1,2,1),imshow(I)
>> subplot(1,2,2),imhist(I)
2.显示图像‘bacteria.tif’的等灰度值图。I=imread('bacteria.tif');
>> subplot(1,2,1),
>> imshow(I)
>> subplot(1,2,2),
>> imcontour(I)
3.调整图像的对比度。
clear all
>> I=imread('pout.tif');
>> J=imadjust(I,[0.3 0.7],[]);
>> subplot(121),imshow(I)
>> subplot(122),imshow(J)