您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数字图像处理实验报告
.WORD.格式..专业资料.整理分享.数字图像处理实验报告.WORD.格式..专业资料.整理分享.实验一数字图像处理编程基础一、实验目的1.了解MATLAB图像处理工具箱;2.掌握MATLAB的基本应用方法;3.掌握MATLAB图像存储/图像数据类型/图像类型;4.掌握图像文件的读/写/信息查询;5.掌握图像显示--显示多幅图像、4种图像类型的显示方法;6.编程实现图像类型间的转换。二、实验内容1.实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。2.运行图像处理程序,并保存处理结果图像。三、源代码I=imread('cameraman.tif')imshow(I);subplot(221),title('图像1');imwrite('cameraman.tif')M=imread('pout.tif')imview(M)subplot(222),imshow(M);title('图像2');imread('pout.bmp')N=imread('eight.tif')imview(N)subplot(223),imshow(N);title('图像3');V=imread('circuit.tif')imview(V)subplot(224),imshow(V);title('图像4');.WORD.格式..专业资料.整理分享.N=imread('C:\Users\Administrator\Desktop\1.jpg')imshow(N);I=rgb2gary(GRB)[X.map]=gary2ind(N,2)RGB=ind2rgb(X,map)[X.map]=gary2ind(I,2)I=ind2gary(X,map)I=imread('C:\Users\dell\Desktop\111.jpg');subplot(231),imshow(I);title('原图');M=rgb2gray(I);subplot(232),imshow(M);[X,map]=gray2ind(M,100);subplot(233),imshow(X);RGB=ind2rgb(X,map);subplot(234),imshow(X);[X,map]=rbg2ind(I);subplot(235),imshow(X);四、实验效果.WORD.格式..专业资料.整理分享..WORD.格式..专业资料.整理分享.实验二图像几何变换实验一、实验目的1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果;2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现;3.掌握matlab编程环境中基本的图像处理函数。二、实验原理1.初始坐标为(,)xy的点经过平移00(,)xy,坐标变为(',')xy,两点之间的关系为:00''xxxyyy,以矩阵形式表示为:00'10'0110011xxxyyy2.图像的镜像变换是以图象垂直中轴线或水平中轴线交换图像的变换,分为垂直镜像变换和水平镜像变换,两者的矩阵形式分别为:'100'01010011xxyy'100'01010011xxyy3.图像缩小和放大变换矩阵相同:'00'0010011XyxSxySy当1xS,1yS时,图像缩小;当1xS,1yS时,图像放大。4.图像旋转定义为以图像中某一点为原点以逆时针或顺时针方向旋转一定角度。其变换矩阵为:'cossin0'sincos010011xxyy该变换矩阵是绕坐标轴原点进行的,如果是绕一个指定点旋转,则先要将坐标系平移到该点,进行旋转,然后再平移回到新的坐标原点。三、实验内容1.启动MATLAB程序,对图像文件分别进行平移、垂直镜像变换、水平镜像变换、缩放和旋.WORD.格式..专业资料.整理分享.转操作。2.运行图像处理程序,并保存处理结果图像。四、源代码及实验效果1.平移I=imread('circuit.tif');subplot(121),imshow(I);title('before');I=double(I);M=zeros(size(I));N=size(I);x=10;y=10;M(x+1:N(1),y+1:N(2))=I(1:N(1)-x,1:N(2)-y);subplot(122),imshow(uint8(M));title('after');2.水平垂直镜像.WORD.格式..专业资料.整理分享.I=imread('pout.tif');subplot(131),imshow(I);title('before');I=double(I);A=zeros(size(I));B=zeros(size(I));M=size(I);A(1:M(1),1:M(2))=I(M(1):-1:1,1:M(2));B(1:M(1),1:M(2))=I(1:M(1),M(2):-1:1);subplot(132),imshow(uint8(A));title('竖直');subplot(133),imshow(uint8(B));title('水平');3.缩放I=imread('pout.tif');subplot(131),imshow(I);title('before');I=double(I);.WORD.格式..专业资料.整理分享.A=zeros(size(I));B=zeros(size(I));[m,n]=size(I);x=1.8;y=1.8;x2=0.85;y2=0.85;fori=1:mforj=1:ni1=round(i*x);j1=round(j*y);i2=round(i*x2);j2=round(j*y2);if(j1=0)&&(i1=0)&&(i1=m)&&(j1=n)A(i,j)=I(i1,j1);endif(j2=0)&&(i2=0)&&(i2=m)&&(j2=n)B(i,j)=I(i2,j2);endendendsubplot(132),imshow(uint8(A));title('small');subplot(133),imshow(uint8(B));title('big');.WORD.格式..专业资料.整理分享.4.旋转jiao=50;M=imread('cameraman.tif');imshow(M);[hw]=size(M);theta=jiao/180*pi;rot=[cos(theta)-sin(theta)0;sin(theta)cos(theta)0;001];%建立变换矩阵pix1=[111]*rot;%变后左上pix2=[1w1]*rot;%变后右上pix3=[h11]*rot;%变后左下pix4=[hw1]*rot;%变后右下height=round(max([abs(pix1(1)-pix4(1))+0.5abs(pix2(1)-pix3(1))+0.5]));%新宽width=round(max([abs(pix1(2)-pix4(2))+0.5abs(pix2(2)-pix3(2))+0.5]));%新高N=zeros(height,width);chao_y=abs(min([pix1(1)pix2(1)pix3(1)pix4(1)]));%y负轴超量.WORD.格式..专业资料.整理分享.chao_x=abs(min([pix1(2)pix2(2)pix3(2)pix4(2)]));%x负轴超量fori=1-chao_y:height-chao_yforj=1-chao_x:width-chao_xpix=[ij1]/rot;%用变换后图像的点的坐标去寻找原图像点的坐标,float_Y=pix(1)-floor(pix(1));%向下舍入float_X=pix(2)-floor(pix(2));ifpix(1)=1&&pix(2)=1&&pix(1)=h&&pix(2)=wpix_up_left=[floor(pix(1))floor(pix(2))];%四个相邻的点pix_up_right=[floor(pix(1))ceil(pix(2))];pix_down_left=[ceil(pix(1))floor(pix(2))];pix_down_right=[ceil(pix(1))ceil(pix(2))];value_up_left=(1-float_X)*(1-float_Y);%周围四个点权重value_up_right=float_X*(1-float_Y);value_down_left=(1-float_X)*float_Y;value_down_right=float_X*float_Y;N(i+chao_y,j+chao_x)=value_up_left*M(pix_up_left(1),pix_up_left(2))+...value_up_right*M(pix_up_right(1),pix_up_right(2))+...value_down_left*M(pix_down_left(1),pix_down_left(2))+...value_down_right*M(pix_down_right(1),pix_down_right(2));endendendfigure,imshow(uint8(N)).WORD.格式..专业资料.整理分享..WORD.格式..专业资料.整理分享.实验三图像增强实验一、实验目的1.掌握基本的图像增强方法,观察图像增强的效果,加深对灰度直方图的理解。2.掌握对数和和指数增强,直方图均衡化方法,重点掌握图像直方图增强的原理和程序设计。二、实验原理对数变化能对原图像的动态范围进行压缩,其数学表达如下:log(1||)tCs其中C为尺寸比例常数。指数变化一般的表示形式:[(,)](,)1cfxyagxyb(a,b,c用于调整曲线的位置和形状的参数。)利用直方图统计的结果,使图像的直方图均衡的方法称为直方图均衡化,直方图均衡化可以达到增强图像显示效果的作用。通过直方图统计,可以观察出,图像中各种亮度所占的比例大部分布不均匀,设法增加在直方图统计中所占比例高的象素和其他比例少的象素之间亮度差,可以提高图像的显示效果。简单来说,直方图增强的方法就是压缩直方图中比例少的象素所占用的灰度范围,多出来的灰度空间按照统计比例分配给直方图中比例高的象素使用。这种方法主要是针对人眼对灰度差别越大的图像越容易分辨的特点而进行的增强。三、实验内容1.实现对数增强或指数增强。2.实现图像直方图均衡化增强。四、分析思考思考为什么进行图像直方图均衡化后,能够增强图像效果。答:因为直方图均衡化处理之后,原来比较少像素的灰度会被分配到别的灰度去,像素相对集中,处理后灰度范围变大,对比度变大,清晰度变大,所以能有效增强图像。直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。五、源代码及实验效果1.对数增强I=imread('cameraman.tif');subplot(221);imshow(I);I=double(I);.WORD.格式..专业资料.整理分享.I2=41*log(1+I);I2=uint8(I2);subplot(222);im
本文标题:数字图像处理实验报告
链接地址:https://www.777doc.com/doc-7948476 .html