图像处理实验报告正文

上传人:沈*** 文档编号:115139989 上传时间:2022-07-01 格式:DOC 页数:54 大小:75.50KB
返回 下载 相关 举报
图像处理实验报告正文_第1页
第1页 / 共54页
图像处理实验报告正文_第2页
第2页 / 共54页
图像处理实验报告正文_第3页
第3页 / 共54页
点击查看更多>>
资源描述
图像处理 实验报告正文第一篇:图像处理 实验报告摘要:图像处理,用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容 图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。图像处理一般指数字图像处理。数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。 目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 设计要求可视化界面,采用多幅不同形式图像验证系统的正确性;合理选择不同形式图像,反应各功能模块的效果及验证系统的正确性 对图像进行灰度级映射,对比分析变换前后的直方图变化;1. 课题目的与要求 目的:基本功能:彩色图像转灰度图像图像的几何空间变换:平移,旋转,剪切,缩放 图像的算术处理:加、减、乘图像的灰度拉伸方法(包含参数设置); 直方图的统计和绘制;直方图均衡化和规定化; 要求:1、熟悉图像点运算、代数运算、几何运算的基本定 义和常见方法;2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法3、掌握在MATLAB中进行插值的方法4、运用MATLAB语言进行图像的插值缩放和插值旋转等5、学会运用图像的灰度拉伸方法6、学会运用图像的直方图设计和绘制;以及均衡化和规定化7、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际2. 课题设计内容描述1彩色图像转化灰度图像:大部分图像都是RGB格式。RGB是指红,绿,蓝三色。通常是每一色都是256个级。相当于过去摄影里提到了8级灰阶。真彩色图像通常是就是指RGB。通常是三个8位,合起来是24位。不过每一个颜色并不一定是8位。比如有些显卡可以显示16位,或者是32位。所以就有16位真彩和32位真彩。在一些特殊环境下需要将真彩色转换成灰度图像。 1单独处理每一个颜色分量。2.处理图像的“灰度“, 有时候又称为“高度”。边缘加强,平滑,去噪,加锐度等。3.当用黑白打印机打印照片时,通常也需要将彩色转成灰白,处理后再打印 4.摄影里,通过黑白照片体现“型体”与“线条”,“光线”。 2图像的几何空间变化:图像平移是将图像进行上下左右的等比例变化,不改变图像的特征,只改变位置。图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴按比例缩放fy倍,从而获得一幅新的图像。如果fx=fy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fxfy,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。旋转。一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。旋转后图像的的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。图像的旋转变换也可以用矩阵变换来表示。 3图像的算术处理:图像代数运算是指对两幅或两幅以上输入图像对应的像素逐个进行和差积商运算以产生增强效果的图像。图像运算是一种比较简单有效的增强处理手段是图像处理中常用方法。 三种图像处理代数运算的数学表达式如下: C(x,y)=A(x,y)+B(x,y) C(x,y)=A(x,y)-B(x,y) C(x,y)=A(x,y)*B(x,y) 4图像的灰度拉伸方法:灰度拉伸又叫对比度拉伸,它是最基本的一种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围。 可以有选择的拉伸某段灰度区间以改善输出图像。如图,所示的变换函数的运算结果是将原图在a到b之间的灰度拉伸到c到d之间。如果一幅图像的灰度集中在较暗的区域而导致图像偏暗,可以用灰度拉伸功能来拉伸(斜率1)物体灰度区间以改善图像;同样如果图像灰度集中在较亮的区域而导致图像偏亮,也可以用灰度拉伸功能来压缩(斜率直方图设计和绘制;以及均衡化和规定化:灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。3. 总体方案设计1 GUI图像处理平台的总体设计图像处理平台设计的目的是能够将图像处理的各个独立算法集成到一个平台内,方便用户选用多种方法对图像进行处理.平台基于atlabGUI设计,实现图像处理过程的交互和可视化,并为用户二次开发提供平台接口,提高图像处理算法的综合利用效率2 平台总体功能设计 根据一体化的设计思想,平台主要实现算法集成、交互可视化和提供二次开发接口等功能.其中算法集成分为已有算法集成和新算法集成.具体功能描述如下:(1)已有算法集成是对atlab图像处理工具包中提供的算法进行集成,可以通过使用函数名加参数的方式直接调用.依据功能进行分类,将同类算法集成到同一菜单项内,如将傅里叶变换、小波变换、离散变换等算法归类到图像变换中,进行集成. (2)新算法集成是指对自主开发的算法进行集成,如改进水平集算法12、交互式图割算法13、细胞自动机分割算法14等均为自主开发的图像分割算法,同已有算法集成方式类似,集成到平台中,便于综合运用和算法分析与对比. (3)交互式可视化是指对图像处理过程及结果的可视化显示,并提供用户交互区. (4)二次开发接口是指通过调用集成模板方式,为用户提供一个将自己算法集成到平台中的一个接口3总体布局设计一个高性能的图像处理平台应该为用户提供方便快捷的操作.平台设计中通过菜单和按钮实现快捷操作,其中菜单项提供平台的整体功能,快捷按钮显示具体的独立功能.图像处理平台的布局设计如图1所示.利用atlabGUI提供的工具包和底层代码,可以实现菜单功能区、快捷按钮功能区、DEMO显示区、可视化效果显示区和用户交互区的布局设计4. 程序实现和测试4.1各个功能模块的主要实现程序 基本功能:彩色图像转灰度图像I=imread(图像的几何空间变换:平移,旋转,剪切,缩放img1=imread(se=translate(strel(1),20210); img2=imdilate(img1,se); figure,imshow(img2); imwrite(img2,a2.jpg); %旋转 img3=imrotate(img1,90); figure,imshow(img3); imwrite(img3,a3.jpg); % %缩放 img4=imresize(img1,2); figure,imshow(img4); imwrite(img4,a4.jpg);原始图像:平移图像:旋转图像:缩放图像:图像的算术处理:加、减、乘加法A=imread(减法A=imread(乘法A=imread(图像的灰度拉伸方法(包含参数设置);img=imread(GreyHist=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GreyHist(k+1)=length(find(img=k)/(m*n); %计算每级灰度出现的概率,将其存入GreyHist中相应位置end figure(2); bar(0:255,GreyHist) %绘制直方图 title(原直方图) xlabel(灰度值) ylabel(出现概率) %灰度拉伸 imggrey=img; prompt=请输入系数a,请输入系数b; words=请输入线性拉伸函数:; answer = inputdlg(prompt,words,1,0.5,2); a=str2double(answer(1); b=str2double(answer(2); for i=1:m for j=1:n img(i,j)=a*img(i,j)+b; end end figure(3); imshow(img); title(灰度拉伸); GreyHist=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255直方图的统计和绘制;直方图均衡化和规定化;%一,图像的预处理,读入彩色图像将其灰度化img=imread(imshow(img) %显示出来 title(输入的彩色JPG图像) imwrite(rgb2gray(img),PicSampleGray.jpg); %将彩色图片灰度化并保存 img=rgb2gray(img); %灰度化后的数据存入数组 %二,绘制直方图m,n=size(img); %测量图像尺寸参数GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(img=k)/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置 end figure,bar(0:255,GP,g) %绘制直方图 title(原图像直方图) xlabel(灰度值) ylabel(出现概率) %三,直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); %计算Sk end end S2=round(S1*256)+0.5); %将Sk归到相近级的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2=i); %计算现有每个灰度级出现的概率 end figure,bar(0:255,GPeq,b) %显示均衡化后的直方图 title(均衡化后的直方图) xlabel(灰度值) ylabel(出现概率) %四,图像均衡化 PA=img; for i=0:255 PA(find(img=i)=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素 end figure,imshow(PA) %显示均衡化后的图像 title(均衡化后图像) imwrite(PA,PicEqual.jpg);4.3. 问题说明和总结:对在调试中发现的问题和解决方法做说明。图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。进行程序调试的过程中,最重要的是输入图像,刚开始是为了找到原始图像耗费了很多时间,一般的条件书上有,但要对其进行磨合。程序编写时,应该注意大小写。应该注意最后的输出部分,保证输出条件与输入条件相同。5总结与体会 这次使用MATALB进行图像处理的编写,是我对MATALB软件有了更深入的了解,对其的应用能力也有了相应的提高,更深入的了解到MATALB作为绘图软件的方便与快捷。在进行程序调试的过程中,最重要的是输入图像,只有找到图像的原始位置,才能进行下面的程序编码。编码程序时,应该在MATLAB原始文档的位置先行输入,输入时应该注意大小写。程序应该尽可能地简单,只要能达到目的就行,程序越复杂,运行时的错误就越多。以上是我的程序编码经验与感受。6参考文献数字图像处理实验指导书 厍向阳 曹颖超 编著 MATLAB与数学实验 艾冬梅 李艳晴 编著 图像处理和分析技术 章毓晋 编著 MATLAB实用教程 郑阿奇 编著第二篇:数字图像处理图像变换实验报告数字图象处理实验指导书实验一 图象变换实验实 验实验名称:图像处理姓名:刘强班级:电信学号:报 告11021404110128数字图象处理实验指导书实验一 图象变换实验实验一 图像变换实验图像点运算、几何变换及正交变换一、 实验条件PC机 数字图像处理实验教学软件大量样图二、 实验目的1、 学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、 熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、 观察图像的灰度直方图,明确直方图的作用和意义;4、 观察图像点运算和几何变换的结果,比较不同参数条件下的变换效果;5、 观察图像正交变换的结果,明确图像的空间频率分布情况。三、 实验原理1、 图像灰度直方图、点运算和几何变换的基本原理及编程实现步骤图像灰度直方图是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。图像点运算是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。点运算可以看作是“从象素到象素”的复制操作,而这种复制操作是通过灰度变换函数实现的。如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)fA(x,y) 其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值和输出灰度值之间的转换关系。一旦灰度变换函数确定,该点运算就完全确定下来了。另外,点运算处理将改变图像的灰度直方图分布。点运算又被称为对比度增强、对比度拉伸或灰度变换。点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸和均衡等。图像几何变换是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放和图像旋转等,其理论基础主要是一些矩阵运算,详细原理可以参考有关书籍。实验系统提供了图像灰度直方图、点运算和几何变换相关内容的文字说明,用户在操作过程中可以参考。下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:数字图象处理实验指导书实验一 图象变换实验2、 图像正交变换的基本原理及编程实现步骤 数字图像的处理方法主要有空域法和频域法,点运算和几何变换属于空域法。频域法是将图像变换到频域后再进行处理,一般采用的变换方式是线性的正交变换(酉变换),主要包括傅立叶变换、离散余弦变换、沃尔什变换、霍特林变换和小波变换等。正交变换被广泛应用于图像特征提取、图像增强、图像复原、图像压缩和图像识别等领域。正交变换实验的重点是快速傅立叶变换(FFT),其原理过于复杂,可以参考有关书籍,这里不再赘述。至于FFT的编程实现,系统采用的方法是:首先编制一个一维FFT程序模块,然后调用该模块对图像数据的列进行一维FFT,再对行进行一维FFT,最后计算并显示幅度谱。程序流程图如下:四、 实验内容图像灰度直方图点运算:图像反色、灰度线性变换、阈值变换、窗口变换、灰度拉伸和灰度数字图象处理实验指导书实验一 图象变换实验均衡几何变换:图像镜像变换、图像转置、图像平移、图像缩放和图像旋转 正交变换:傅立叶变换、离散余弦变换、沃尔什变换、霍特林变换和小波正反变换注意:1、 所有实验项目均针对8位BMP灰度图像进行处理,其它格式(如JPG)的图像可以利用系统提供的图像格式转换工具进行转换,再进行处理;2、 本次实验的重点是图像的灰度直方图和点运算,几何变换和正交变换只作一般性了解。五、 实验步骤以图像灰度阈值变换为例说明实验的具体步骤,其它实验项目的步骤与此类似。1、 打开计算机,在系统桌面上双击“数字图像处理实验教学软件系统”的可执行文件“图象处理”的图标,进入实验系统;2、 执行文件打开,在OPEN对话框中选择待处理的图像,按【OK】后系统显示出图像;3、 执行查看图像基本信息,将显示图像基本信息对话框,如图所示;数字图象处理实验指导书实验一 图象变换实验4、 执行查看灰度直方图,查看图像的灰度直方图,如图所示;5、 执行图像变换正交变换傅立叶变换,查看图像的频率域分布情况,如图所示;数字图象处理实验指导书实验一 图象变换实验6、 执行图像变换正交变换小波变换,查看图像经过小波变换的效果,如图所示;7、 执行图像变换点运算阈值变换,修改阈值变换对话框中的阈值参数,如图所示;数字图象处理实验指导书实验一 图象变换实验8、 设置完阈值参数后按【OK】,系统显示阈值变换后的图像,与原图像进行比较,观察阈值变换的效果,如图所示;9、 重复步骤4,查看阈值变换后图像的直方图分布情况;数字图象处理实验指导书实验一 图象变换实验10、 重复步骤5,查看阈值变换后图像的频率域分布情况;11、执行文件保存或另存为,保存处理后的图像;12、执行文件重新加载,重新加载原始图像,但要注意先前对图像的处理将会丢失; 注意:13、在执行步骤2时可能会出现有些图像文件不能打开的情况,如图所示,此时可以先利用图像格式转换工具将图像文件转换为8位BMP图像,再利用系统进行处理。步骤14和15是使用图像格式转换工具的方法;14、在桌面上双击图像格式转换工具Jpg2bmp的图标,进入转换工具界面,如图所示;15、按照界面提示,把JPG格式的图像文件转换成8位BMP图像。数字图象处理实验指导书实验一 图象变换实验步骤13示意图步骤14示意图六、 思考题1、 图像灰度线性变换、阈值变换、窗口变换、灰度拉伸和灰度均衡之间有何区别?灰度线性变换就是将图像的像素值通过指定的线性函数进行变换,以此增强或者减弱图像的灰度。灰度的阈值变换可以让一幅图像变成黑白二值图。灰度的窗口变换也是一种常见的点运算。它的操作和阈值变换类似。从实现方法上可以看作是灰度折线变换的特列。窗口灰度变换处理结合了双固定阈值法,与其不同之处在于窗口内的灰度值保持不变。灰度拉伸又叫做对比度拉伸,它与线性变换有些类似,不同之处在于灰度拉伸使用的是分段线性变换,所以它最大的优势是变换函数可以由用户任意合成。灰度均衡是增强图像的有效方法之一。灰度均衡同样属于改进图像的方法,灰度均衡的图像具有较大的信息量。从变换后图像的直方图来看,灰度分布更加均匀。2、 利用图像镜像和旋转变换可以实现图像转置吗?如果可以,应该怎样实现?可以。进行一次镜像变换,顺(逆)时针旋转两次,再以与第一次相反的方向镜像变换。数字图象处理实验指导书实验一 图象变换实验实验二 图像增强及复原实验七、 实验条件PC机 数字图像处理实验教学软件大量样图八、 实验目的1、 熟练使用“数字图像处理实验教学软件系统”;2、 熟悉图像增强及复原的基本原理,了解编程实现的具体步骤;3、 观察图像中值滤波、平滑、锐化和伪彩色编码的结果,比较不同参数条件下的图像增强效果;4、 观察图像退化和复原的结果,比较不同复原方法的复原效果。九、 实验原理1、 图像增强和复原的基本原理对降质图像的改善处理通常有两类方法:图像增强和图像复原。图像增强不考虑图像降质的原因,只将图像中感兴趣的特征有选择地进行突出,并衰减图像的次要信息,改善后的图像不一定逼近原始图像,只是增强了图像某些方面的可读性,如突出了目标轮廓,衰减了各种噪声等。图像增强可以用空域法和频域法分别实现,空域法主要是在空间域中对图像象素灰度值直接进行运算处理,一般包括中值滤波、模板平滑和梯度锐化等,空域法可以用下式来描述:g(x,y)f(x,y)*h(x,y) 其中f(x,y)是处理前图像,g(x,y)表示处理后图像,h(x,y)为空间运算函数。图像增强的频域法是在图像的频率域中对图像的变换值进行某种运算处理,然后变换回空间域,系统涉及的各种滤波器属于频域法增强,这是一种间接处理方法,可以用下面的过程模型来描述:其中:F(u,v)= f(x,y),G(u,v)= F(u,v)H(u,v),g(x,y)=-1 G(u,v),和-1分别表示频域正变换和反变换。实验系统提供了图像增强相关内容的文字说明,用户在操作过程中可以参考。图像复原是针对图像降质的原因,设法去补偿降质因素,使改善后的图像尽可能逼近原始图像,提高了图像质量的逼真度。关于图像复原的详细原理可以参考相关书籍,这里不再赘述。本系统提供了图像的噪声退化、卷积退化和运动模糊退化操作,并提供了相应的逆滤波复原、维纳复原和运动模糊复原操作。本次数字图象处理实验指导书实验一 图象变换实验实验中图像复原只作一般性了解。2、 编程实现步骤下面以图像增强中的中值滤波操作为例给出编程实现的程序流程图,如下:十、 实验内容图像增强:中值滤波、图像模板平滑、理想低通滤波器平滑、巴特沃斯低通滤波器平滑、梯度锐化、拉普拉斯锐化、理想高通滤波器锐化、巴特沃斯高通滤波器锐化和伪彩色编码图像复原:图像的噪声退化、卷积退化、卷积加噪声退化、运动模糊退化、逆滤波复原、维纳复原和运动模糊复原注意:3、 所有实验项目均针对8位BMP灰度图像进行处理;4、 本次实验的重点是图像增强中的中值滤波和模板平滑,图像复原只作一般性了解。十一、 实验步骤以图像中值滤波操作为例说明实验的具体步骤,其它实验项目的步骤与此类似。11、 打开计算机,在系统桌面上双击“数字图像处理实验教学软件系统”的可执行文件“图象处理”的图标,进入实验系统;12、 执行文件打开,在OPEN对话框中选择待处理的图像,按【OK】后系统显示出图像;数字图象处理实验指导书实验一 图象变换实验13、 执行查看图像基本信息,将显示图像基本信息对话框,如图所示;14、 执行查看灰度直方图,查看图像的灰度直方图,如图所示;数字图象处理实验指导书实验一 图象变换实验15、 执行图像变换正交变换傅立叶变换,查看图像的频率域分布情况,如图所示;16、 执行图像增强中值滤波,选择或自定义对话框中的滤波器参数,如图所示;数字图象处理实验指导书实验一 图象变换实验17、 设置完滤波器参数后按【OK】,系统显示中值滤波后的图像,与原图像进行比较,观察中值滤波的效果,如图所示;18、重复步骤4,查看中值滤波后图像的直方图分布情况;数字图象处理实验指导书实验一 图象变换实验19、 重复步骤5,查看中值滤波后图像的频率域分布情况;10、执行文件保存或另存为,保存处理后的图像;11、执行文件重新加载,重新加载原始图像,但要注意先前对图像的处理将会丢失。数字图象处理实验指导书实验一 图象变换实验十二、思考题1、 图像中值滤波和模板平滑之间有何区别?图像平滑处理就是用平滑模板对图像进行处理,以减少图像的噪声。而中值滤波是一种非线性的信号处理方法。2、 图像增强和图像复原之间有何区别?图像增强:利用一定的技术手段,不用考虑图像是否失真(即原 始图像在变换后可能会失真)而且不用分析图像降质的原因。针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。图像复原:针对质量降低或者失真的图像,恢复图像原始的内容或者质量。图像复原的过程包含对图像退化模型的分析,再对退化的图像进行复原。图像退化是由于成像系统受各种因素的影响,导致了图像质量的降低,称之为图像退化。这些因素包括传感器噪声、摄像机聚焦不佳、物体与摄像机之间的相对移动、随机大气湍流、光学系统的象差、成像光源和射线的散射等。 图像复原大致可以分为两种方法:一种方法适用于缺乏图像先验知识的情况,此时可对退化过程建立模型进行描述,进而寻找一种去除或消弱其影响的过程,是一种估计方法;另一种方法是针对原始图像有足够的先验知识的情况,对原始图像建立一个数学模型并根据它对退化图像进行拟合,能够获得更好的复原效果。3、 图像维纳复原为什么比逆滤波复原效果好?维纳滤波复原的原理可表示为对于维纳滤波,由上式可知,当时,由于存在 项,所以数字图象处理实验指导书实验一 图象变换实验不会出现被0除的情形,同时分子中含有项,在处,。当时,此时维纳滤波就变成 了逆滤波;当时,表明维纳滤波避免了逆滤波中 出现的对噪声过多的放大作用,也就是说图像维纳复原比逆滤波复原效果好。第三篇:数字图像处理彩色图像实验报告(1)对彩色图像的表达和显示* * * * * * * * * * * *显示彩色立方体* * * * * * * * * * * * *rgbcube(0,0,10);%从正面观察彩色立方体rgbcube(10,0,10); %从侧面观察彩色立方 rgbcube(10,10,10); %从对角线观察彩色立方体%* * * * * * * * * *索引图像的显示和转换* * * * * * * * * f=imread(%f是RGB真彩图像%rgb图像转换成8色索引图像,不采用抖动方式X1,map1=rgb2ind(f,8,nodither); figure,imshow(X1,map1);%采用抖动方式转换到8色索引图像X2,map2=rgb2ind(f,8,dither); figure,imshow(X2,map2); %显示效果要好一些 g=rgb2gray(f);%f转换为灰度图像g1=dither(g);%将灰色图像经过抖动处理,转换打二值图像figure,imshow(g);%显示灰度图像figure,imshow(g1);%显示抖动处理后的二值图像程序运行结果:*彩色立方体原图不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像灰度图像抖动处理后的二值图像(2)彩色空间转换f=imread(%转换到NTSC彩色空间%f是RGB真彩图像ntsc_image=rgb2ntsc(f);figure,imshow(ntsc_image(:,:,1);%显示亮度信息 figure,imshow(ntsc_image(:,:,2);%显示色差信息 figure,imshow(ntsc_image(:,:,3);%显示色差信息%转换到HIS彩色空间hsi_image=rgb2hsi(f);figure,imshow(hsi_image(:,:,1);%显示色度信息 figure,imshow(hsi_image(:,:,2); %显示饱和度信息 figure,imshow(hsi_image(:,:,3);%显示亮度信息程序运行结果:原图转换到NTSC彩色空间显示亮度信息显示色差信息显示色差信息转换到HIS彩色空间显示色差信息显示饱和度信显示亮度信息(3)彩色变换f=imread(G=ice(image,f);%打开ice窗口对图像进行调整%在窗口中执行以下操作:%a)得到图像的补色%b)拖动映射曲线,对图像显示效果进行修改%c)在颜色通道中选中某一颜色,然后对映射曲线进行修改程序运行结果(1):全彩色图片ICE窗口它的补色ICE窗口拖动映射曲线,图像的显示效果ICE窗口f2=imread(ICE窗口g2=ice(image,f2,space,CMYK);%f2的图像色彩偏红,拖动映射曲线,%调整映射参数,使图像的色彩看起来比较正常。程序运行结果(2)原图在CMYK彩色空间内打开图像调整映射参数后ICE窗口(4)彩色空间滤波%* * * * * * * * * * * * * * * * * * * * 彩色图像平滑 * * * * * * * * * * * * * * * * * * * * * *fc=imread(H=h(:,:,1);S=h(:,:,2);I=h(:,:,3);%转换到HIS彩色空间%色度分量%饱和度分量%亮度分量%2525的方形平滑算子 w=fspecial(average,25);I_filtered=imfilter(I,w,replicate); %对亮度分量进行平滑操作 H1=cat(3,H,S,I_filtered); %将H、S、I三个分量重新组合起来f=hsi2rgb(H1);f=min(f,1);%转换到RGB彩色空间%f的值控制在0,1之间figure,imshow(f);%彩色图像平滑处理 %* * * * * * * * * * * * * * * * 彩色图像锐化 * * * * * * * * * * * * * * * * * * * * * *fb=imread(%图像锐化后与原图像相减fen=imsubtract(fb,g);figure,imshow(fen); %显示差值图像程序运行结果:原图彩色图像平滑处理拉普拉斯算子处理锐化处理(5)彩色图像分割%* * * * * * * * * * * * * * * * * 彩色边缘检测* * * * * * * * * * * *close all;clear;clc;f=imread(iris.tif); %f如图6-4所示%直接计算彩色边缘VG,并得到对单独彩色平面的二维梯度求和形成的梯度PPGVG,A,PPG=colorgrad(f);figure,imshow(VG, );%显示彩色梯度图像 figure,imshow(A, );%显示彩色梯度对应的角度图像figure,imshow(PPG, );%显示分量梯度图像g=VG-PPG;%计算两种梯度方法得到的梯度之差 figure,imshow(g, );程序运行结果:%显示差值图像彩色梯度图像 彩色梯度对应的角度图像分量梯度图像两种梯度差值图像%* * * * * * * * * * * * * * * * * 彩色图像分割 * * * * * * * * * * * * * * * * * * * * * * * * *f=imread(jupitermoon.tif); %f如图6-4所示 mask=roipoly(f);%取得选定区域图像的红色分量%手工选定图中红色区域R=immultiply(mask,f(:,:,1);%取得选定区域图像的绿色分量G=immultiply(mask,f(:,:,2); %取得选定区域图像的蓝色分量B=immultiply(mask,f(:,:,3);g=cat(3,R,G,B);%取得选定区域的RGB图像 figure,imshow(g);%显示取得选定区域M,N,K=size(g);%选定区域的大小I=reshape(g,M*N,3);%对g中的像素进行重排,按列序拉成一行 idx=find(mask);%找到mask中的像素在重排后的图像g中位置 I=double(I(idx,1:3);%转换到double类型 C,m=covmatrix(I);%计算协方差矩阵C主对角线上的元素,即方差 %sd=sqrt(d)%求得这些元素的平方根,即均方差均方差%用欧式距离对图像进行彩色分割,阈值为25E25=colorseg(euclidean,f,25,m); E251=f; E251(E25=0)=0 figure,imshow(E251,);%用马氏距离对图像进行彩色分割,阈值为25 M25=colorseg(mahalanobis,f,25,m,C); figure , imshow(M25 , ); 程序运行结果:原图选定区域欧氏距离彩色分割马氏距离彩色分割6.4 思考题(1)请将图6-1所示的彩色图像转换到灰度图像,并根据灰度值对此灰度图像进行索引化,手工指定索引表中的RGB值,并把此索引图像显示出来。程序代码如下%思路:把原图想转换为128位索引图close all;clear;clc; %将f从灰度图像转换为索引图像,x是索引图像; %map是索引矩阵,R,G,B的值都相等f=imread(%f是RGB图像 f1=rgb2gray(f);%将f转换成灰度图像 figure,imshow(f1); x,map=gray2ind(f1,128);figure,imshow(x); %将map中的值做下面改变则R,G,B的值不相等,产生彩色%把灰度图像转化成128位的索引图map(1,:)=0.5; map(: ,1)=0.5; map(2,:)=0.4; map(1,1)=0; figure,imshow(f1,map);程序运行结果:原RGB图像灰度图像索引图 修改索引表后的图像(2)6.3节的(4)是将图像转换到HIS空间后再对亮度分量进行平滑操作,试直接对原图像的RGB三个分量分别进行平滑操作,并计算两种操作方法的图像差值。程序代码如下:f=imread(S=f(:,:,2);I=f(:,:,3);%色度分量%饱和度分量%亮度分量%2525的方形平滑算子 w=fspecial(average,25);H_filtered=imfilter(H,w,replicate);%对色度分量进行平滑操作 S_filtered=imfilter(S,w,replicate);%对饱和度分量进行平滑操作 I_filtered=imfilter(I,w,replicate);%对亮度分量进行平滑操作 %将H、S、I三个分量重新组合起来Ha=cat(3,H_filtered,S_filtered,I_filtered); Ha=im2double(Ha);%转化成double类型 figure,imshow(Ha); %转换到HIS彩色空间 h=rgb2hsi(f);%转换到HIS彩色空间H=h(:,:,1);S=h(:,:,2);I=h(:,:,3);%色度分量%饱和度分量 %亮度分量 %2525的方形平滑算子 w=fspecial(average,25);I_filtered=imfilter(I,w,replicate); %对亮度分量进行平滑操作 %将H、S、I三个分量重新组合起来 H1=cat(3,H,S,I_filtered); fb=hsi2rgb(H1);%转换到RGB彩色空间 fb=min(fb,1);figure,imshow(fb);%f的值控制在0,1之间%彩色图像平滑处理fen=imsubtract(Ha,fb); figure,imshow(fen); 程序运行结果:%计算两中方式处理后图像的差值原图直接对RGB三分量进行平滑操作转换到HIS空间对亮度进行平滑操作差值图像试验中的问题和心得体会:本次实验是彩色图像处理。(1)通过这个实验我了解了RGB图像以及索引图像在MATLAB中的存储和询问方式(2)了解RGB空间到其他彩色空间的转换方式和转换方法 (3)知道了一些彩色图像的空间滤波方法 (4)了解在RGB向量空间中检测彩色边缘的方法 (5)了解在RGB向量空间中对图像进行分割的方法遇到的问题:在做思考题(2)的时候,计算两种平滑处理的得到图像的差值的中程序出现了问题,经过看出错信息,认真检查程序后,发现是因为直接平滑处理的图像是unit8类型的,而转换到HIS空间后,得到的图像是double类型,二者的类型不同,导致使用imsubtract函数的时候出现了问题。感觉做matlab的实验和平时编写C代码的时候有很多地方是相同的,都会经历:编码,debug,正确这三个过程,这个过程本身就具有挑战性和趣味性。第四篇:光学图像处理实验报告光学图像处理实验报告直方图均衡化的研究一、摘要直方图均衡化就是把一已知灰度概率分布的图像经过一种变换,使之演变成一幅具有均匀灰度概率分布的新图像。它是以累积分布函数变换法为基础的直方图修正法。分析和总结灰度直方图的均衡化算法并通过VC+实验验证该方法能有效达到图像增强的目的。对于较为暗淡的图像,采用直方图均衡化能够增强其整体对比度,获的较为理想的观察效果。二、关键字灰度统计直方图均衡化三、实验原理1、直方图的理论基础:(1)直方图概念:灰度直方图表示图像中每种灰度出现的频率。 (2)直方图的作用: 反映一幅图像的灰度分布特性n(3)直方图的计算:p(rk)=k0rk1k=0,1,2,L,l-1 n式中:nk为图像中出现rk级灰度的像素数,n是图像像素总数,而nk/n即为频数。2、设计目的: 产生一幅灰度级分布具有均匀概率密度的图像,扩展像素取值的动态范围,达到了图象增强的目的。3、直方图均衡化的效果 :1)变换后直方图趋向平坦,灰级减少,灰度合并。2)原始象含有象素数多的几个灰级间隔被拉大了,压缩的只是象素数少的几个灰度级,实际视觉能够接收的信息量大大地增强了,增加了图象的反差。同时,也增加了图象的可视粒度。4、离散情况下的直方图均衡化的算法:A、列出原始图像的灰度级 fj,j=0,1,L,L-1B、统计各灰度级的像素数目 nj,j=0,1,L,L-1C、计算原始图像直方图各灰度级的频数 Pf(fj)=nj/n,j=0,1,L,L-1kD、计算累积分布函数 C(f)=j=0Pf(fj),j=0,1,L,k,LL-1F、应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,其中INT为取整符号:gi=INT(gmax-gmin)C(f)+gmin+0.5 G、用的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。四、实验内容及源程序1、灰度分布密度的统计 程序代码如下:/* *函数名称:ZhiFangTu(float *tongji) *函数类型:void *变量说明:tongji,灰度分布密度统计 *功能:对图像进行灰度直方图统计*/ void CAAAView:OnZhifangtu(float *tongji) / TODO: Add your command handler code hereint huidu256;/灰度计数CAAADoc* pDoc = GetDocument();LPSTR lpDIB; LPSTRlpDIBBits;lpDIB = (LPSTR) :GlobalLock(HGLOBAL) pDoc-GetHDIB();lpDIBBits = :FindDIBBits(lpDIB);/原图数据区指针int iH,iW; memset(huidu,0,sizeof(huidu);/变量初始化iH = :DIBHeight(lpDIB);/宽iW = :DIBWidth(lpDIB); /长LPBYTE temp1=new BYTEiH*iW;/新图像缓冲区memcpy(temp1,lpDIBBits,iH*iW);/复制原图像到缓冲区for(int i=0;i for(int j=0;junsigned char temp;temp=temp1iW*i+j;/灰度统计计数huidutemp+; for( i=0;iGetHDIB();lpDIBBits = :FindDIBBits(lpDIB);/原图数据区指针float Hdmd256;/灰度密度float temp256;/中间变量int a256; long i,j; memset(temp,0,sizeof(temp);/初始化OnZhifangtu(Hdmd);/获取图像的灰度密度分布for(i=0;iUpdateAllViews(NULL); :GlobalUnlock(HGLOBAL) pDoc-GetHDIB(); EndWaitCursor(); 五、实验结果的分析与比较a原图如下所示:b均衡后的结果如下:结论:图像直方图趋于平坦化,且灰度间隔被拉大,从而有利于图像的分析和识别。对于较为暗淡的图像,采用直方图均衡化能够增强其整体对比度,获的较为理想的观察效果。六、参考文献VC+图像处理程序设计(第二版)(杨淑莹等 编著)第五篇:数字图像处理实验报告数字图像处理实验学生姓名:专业年级:报告叶圣红 学 号: 2021704809级电子信息工程二班实验一 常用MATLAB图像处理命令一、实验内容1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。实验结果如右图: 代码如下: Subplot (1,3,1)i=imread(E:数字图象处理.jpg) imshow(i)title(RGB) Subplot (1,3,2) j=rgb2gray(i) imshow(j) title(灰度) Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title(二值)2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。实验结果如右图: 代码如下: Subplot (3,2,1) i=imread(E:数字图像处理1.jpg) x=imresize(i,250,32021 imshow(x) title(原图x) Subplot (3,2,2) j=imread(E:数字图像处理17.jpg) y=imresize(j,250,32021 imshow(y) title(原图y) Subplot (3,2,3) z=imadd(x,y) imshow(z) title(相加结果);Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title(相减结果) Subplot (3,2,5);z=immultiply(x,y);imshow(z);title(相乘结果) Subplot (3,2,6);z=imdivide(x,y);imshow(z);title(相除结果)3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。实验结果如右图:代码如下: Subplot (2,2,1) i=imread(E:数字图像处理12.jpg) imshow(i) title(原图) Subplot (2,2,2) J = imadjust(i,3); imshow(J) title(变暗) Subplot (2,2,3) J = imadjust(i,0.4) imshow(J) title(变亮) Subplot (2,2,4) J=255-i Imshow(J) title(变负)二、实验总结分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。加法运算的一个重要应用是对同一场景的多幅图像求平均值减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。实验二 图像基本操作一、 实验内容1.调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。1、调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。a=imread(e:3.jpg);%读取图片 b=rgb2gray(a);%变为灰度图像wid,hei=size(b);%改变图片大小 quartimg=zeros(wid/2+1,hei/2+1); i1=1; j1=1; for i=1:2:widfor j=1:2:heiquartimg(i1,j1)=b(i,j) ;j1=j1+1;endi1=i1+1; j1=1; end figure imshow(uint8(quartimg) %显示输出图像2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图Subplot (1,2,1);a=imread(E:数字图像处理实验数字图像处理2021pg); imshow(a);title(a);Subplot (1,2,2);b= imadjust(a,3);title(b)显示直方图程序:Subplot (1,2,1);imhist(a);title(a的直方图) Subplot (1,2,2);imhist(b);title(b的直方图)3、对图像b进行直方图均衡化,显示结果图像和对应直方图。Subplot (1,2,1);j=histeq(b);imshow(j); title(b均衡化); Subplot (1,2,2);imhist(j); title(b均衡化后的直方图) 均衡化的图像和直方图:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!