资源描述:
《数字图像处理实验考试题型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、【matlab数字图像处理实验】图像基本操作学习在MATLAB环境下对图像文件的基本操作,为读取各种格式的图像文件和后续进行的图像处理打下基础。实验内容1.读出MATLAB目录下图像文件并进行旋转、加亮、取反、多幅图片显示等操作。2.将MATLAB目录下图像文件读出,显示它的图像及灰度直方图并进行直方图衡化。实验结果1.读取和显示I=imread('rice.tif');imshow(I);2.加亮I=imread('rice.tif');K=I+80;imshow(K);1.取反I=imread('rice.tif');J=imcomplement(
2、I);imshow(J);2.翻转I=imread('rice.tif');K=imrotate(I,45);imshow(K);1.图片信息whosI2.图片大小I=imread('rice.tif');size(I);[M,N]=size(I)1.彩色到黑白I=imread('lene.jpg');K=rgb2gray(I);subplot(1,2,1),imshow(I);title('原始图像')subplot(1,2,2),imshow(K);title('黑白图像')2.直方图均衡化I=imread('rice.tif');subplot(
3、2,2,1),imshow(I)title('原始图像')subplot(2,2,3),imhist(I)title('原始图像直方图')a=histeq(I,256);%直方图均衡化,灰度级为256subplot(2,2,2),imshow(a)%输出均衡化后图像title('均衡化后图像')subplot(2,2,4),imhist(a)title('均衡化后图像直方图')小结·在后续的图像处理中,size()函数在图像点运算,比如域值化以及线性处理中有特别作用。subplot(,,),imshow()函数用于多幅图像的显示,而单独显示则使用fig
4、ure,imshow()。·直方图是灰度级数的函数,反映了图像中具有该灰度级数的像素的个数。直方图均衡化就是把原图像的灰度直方图从比较集中的某个区间变成在全部灰度范围内的均匀分布。均衡化后图像的像素重新分配,使一定会度范围内的像素数量大致相同。图像的亮度变得更亮了,增强了图像的整体效果。·均衡化后直方图趋于平坦化,灰度间隔(动态范围)拉大,对比度加强,图像清晰,便于读取、分析和处理。【matlab数字图像处理实验】图像点运算实验内容:1.图像代数运算,包括加、减代数运算。2.对图像进行域值滤波、线性变换并理解和观察对应的直方图。实验结果1.图像代数运算
5、I=imread('lene.jpg');J=rgb2gray(I);K=histeq(J,256);subplot(2,2,1),imshow(J);title('原始图像J')subplot(2,2,2),imshow(K);title('直方图均衡化图像K')G=double(J)-double(K);subplot(2,2,3),imshow(uint8(G));title('J-K')H=double(K)+double(J);subplot(2,2,4),imshow(uint8(H));title('J-K')1.域值滤波I=imread
6、('rice.tif');%读取图像subplot(2,2,1),imshow(I)%输出图像title('原始图像')%在原始图像中加标题subplot(2,2,2),imhist(I)%输出原图直方图title('原始图像直方图')%在原图直方图上加标题[M,N]=size(I);K=zeros(256);fori=1:Mforj=1:Nif(I(i,j)<105)K(i,j)=0.2;elseK(i,j)=230;endendendJ=uint8(K);subplot(2,2,3),imshow(K);title('域值滤波图象');subplo
7、t(2,2,4),imhist(J);title('域值滤波直方图');1.线性变换I=imread('rice.tif');%读取图像subplot(2,2,1),imshow(I)%输出图像title('原始图像')%在原始图像中加标题subplot(2,2,2),imhist(I)%输出原图直方图title('原始图像直方图')%在原图直方图上加标题[M,N]=size(I);vMax=max(max(I));vMin=min(min(I));K=zeros(256);fori=1:256forj=1:256K(i,j)=double(I(i,j
8、))*1.6-62;endendJ=uint8(K);subplot(2,2,3),imsho