数字图像处理 Matlab版 作业1
- 格式:docx
- 大小:200.79 KB
- 文档页数:8
《数字图像处理》期末大作业大作业题目及要求:一、题目:本门课程的考核以作品形式进行。
作品必须用Matlab完成。
并提交相关文档。
二、作品要求:1、用Matlab设计实现图形化界面,调用后台函数完成设计,函数可以调用Matlab工具箱中的函数,也可以自己编写函数。
设计完成后,点击GUI图形界面上的菜单或者按钮,进行必要的交互式操作后,最终能显示运行结果。
2、要求实现以下功能:每个功能的演示窗口标题必须体现完成该功能的小组成员的学号和姓名。
1)对于打开的图像可以显示其灰度直方图,实现直方图均衡化。
2)实现灰度图像的对比度增强,要求实现线性变换和非线性变换(包括对数变换和指数变换)。
3)实现图像的缩放变换、旋转变换等。
4)图像加噪(用输入参数控制不同噪声),然后使用空域和频域进行滤波处理。
5)采用robert算子,prewitt算子,sobel算子,拉普拉斯算子对图像进行边缘提取。
6)读入两幅图像,一幅为背景图像,一幅为含有目标的图像,应用所学的知识提取出目标。
3、认真完成期末大作业报告的撰写,对各个算法的原理和实验结果务必进行仔细分析讨论。
报告采用A4纸打印并装订成册。
附录:报告模板《数字图像处理》期末大作业班级:计算机小组编号:第9组组长:王迪小组成员:吴佳达浙江万里学院计算机与信息学院2014年12月目录(自动生成)1 绘制灰度直方图,实现直方图均衡化 (5)1.1 算法原理 (5)1.2 算法设计 (5)1.3 实验结果及对比分析 (5)2 灰度图像的对比度增强 (5)2.1 算法原理 (5)2.2 算法设计 (5)2.3 实验结果及分析 (5)3 图像的几何变换 (5)3.1 算法原理 (5)3.2 算法设计 (5)3.3 实验结果及分析 (5)4 图像加噪(用输入参数控制不同噪声),然后使用空域和频域进行滤波处理 (5)4.1 算法原理 (5)4.2 算法设计 (6)4.3 实验结果及分析 (6)5 采用robert,prewitt,sobel,拉普拉斯算子对图像进行边缘提取 (6)5.1 算法原理 (6)5.2 算法设计 (6)5.3 实验结果及分析 (6)6 读入两幅图像,一幅为背景图像,一幅为含有目标的图像,应用所学的知识提取出目标 (6)6.1 算法原理 (6)6.2 算法设计 (6)6.3 实验结果及分析 (6)7 小结(感受和体会) (6)1 绘制灰度直方图,实现直方图均衡化1.1 算法原理图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。
数字图像处理结课作业班级:姓名:学号:教师:信息工程学院通信工程系一:实验目的1 编写程序,实现图像的边缘检测2 编写程序,用中值滤波的方法,给灰度图像去除噪声3 编写程序,把某图像的灰度图像锐化二:实验原理1边缘检测将图像首先进行灰度处理,处理后的图像才能进行算子的变换分析。
本次实验采用prewitt算子模板,设置适当的阈值,检测到灰度图像中色差较大的地方,显示出来,即为边缘检测。
2中值滤波将图像首先进行灰度处理灰度图像由像素构成,所谓中值滤波,即为把每个点和周围的八个点排序,然后把排在中间位置的值赋给该点。
每个点依次做完以后形成的图像即为中值滤波后的得到的结果。
3 图像锐化先得到灰度图像,像素分为256个等级,0~255之间的数字越大就代表越趋于白色,越小就越趋于黑色,因此,把每个点的值变大(变小)就可以实现图像的锐化(暗化)。
三、实验步骤和结果1边缘检测clear allim1=imread('mayunxiang.jpg');subplot(1,3,1);imshow(im1);title('原始图像');im2=rgb2gray(im1);subplot(1,3,2);imshow(im2);title('灰度图');[m,n]=size(im2);for i=1:mfor j=1:nimy(i,j)=0;imx(j,i)=0;endendfor i=1:m-1for j=1:n-1imy(i,j)=abs(im2(i+1,j)-im2(i,j));imx(i,j)=abs(im2(i,j+1)-im2(i,j));if imx(i,j)>imy(i,j)im3(i,j)=imx(i,j);elseim3(i,j)=imy(i,j);endif im3(i,j)>3im3(i,j)=0;elseim3(i,j)=255-im3(i,j);endendendsubplot(1,3,3);imshow(im3);title('算子');运行结果2中值滤波im1=imread('by.jpg');im2=rgb2gray(im1);im3=imnoise(im2,'salt & pepper',0.2);[m,n]=size(im2);for i=2:m-1for j=2:n-1x=[im2(i-1,j-1) im2(i,j-1) im2(i+1,j-1) im2(i-1,j) im2(i,j) im2(i+1,j) im2(i-1,j+1) im2(i,j+1) im2(i+1,j+1)];y=sort(x);im4(i,j)=y(5);endendsubplot(1,3,1)imshow(im2)subplot(1,3,2)imshow(im3)subplot(1,3,3)imshow(im4)运行结果3 图像锐化im1=imread('by.jpg');im2=rgb2gray(im1);[m,n]=size(im2);subplot(3,2,1);imshow(im2);subplot(3,2,2);a=0;b=120;imhist(im2);for i=1:mfor j=1:nim3(i,j)=im2(i,j)*0.5;endendsubplot(3,2,3)imshow(im3);subplot(3,2,4);imhist(im3);b1=180;a1=0;for i=1:mfor j=1:nim4(i,j)=(im3(i,j)-a)*((b1-a1)./(b-a))+a1;endendsubplot(3,2,5)imshow(im4);subplot(3,2,6);imhist(im4);运行结果四总结写代码过程中经常出现语法错误和逻辑错误,语法错误如忘记写括号、for循环不写end、函数用法不对等情况。
第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(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('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
第一章:习题与思考题参考答案1-1 什么是数字图像? 数字图像处理有哪些特点?数字图像是将连续的模拟图像经过离散化处理后变成计算机能够辨识的点阵图像。
数字图像处理具有以下特点:(1)处理精度高,再现性好。
(2)易于控制处理效果。
(3)处理的多样性。
(4)数字图像中各个像素间的相关性大,压缩的潜力很大。
(5)图像数据量庞大。
(6) 占用的频带较宽。
(7) 图像质量评价受主观因素的影响。
(8)图像处理技术综合性强。
1-2 数字图像处理的目的及主要内容。
一般而言,对图像进行处理主要有以下三个方面的目的(1) 提高图像的视感质量,以达到赏心悦目的目的。
(2) 提取图像中所包含的某些特征或特殊信息,以便于计算机分析。
(3) 对图像数据进行变换、编码和压缩,以便于图像的存储和传输。
数字图像处理的主要研究内容:根据其主要的处理流程与处理目标大致可以分为图像信息的描述、图像信息的处理、图像信息的分析、图像信息的编码以及图像信息的显示等几个方面。
如:图像数字化、图像增强、图像几何变换、图像复原、图像重建、图像隐藏、图像正交变换、图像编码、图像分析等。
1-3 数字图像处理的主要应用图像处理技术广泛用于众多的科学与工程领域,主要有:(1)生物医学领域中的应用(2)工业应用(3)遥感航天中的应用(4)军事、公安领域中的应用(5)其他应用,例如:图像的远距离通信;多媒体计算机系统及应用;服装试穿显示;办公自动化、现场视频管理1-4 在理想情况下获得一幅数字图像时,采样和量化间隔越小,图像的画面效果越好,当一幅图像的数据量被限定在一个范围内时,如何考虑图像的采样和量化使得图像的质量尽可能好。
一般,当限定数字图像的大小时, 为了得到质量较好的图像可采用如下原则: (1)对缓变的图像,应该细量化,粗采样,以避免假轮廓。
(2)对细节丰富的图像,应细采样,粗量化,以避免模糊(混叠)。
1-5 想想在你的工作和生活中,遇见过哪些数字化设备?它们的主要用途是什么?主要有以下几种数字化设备:(1) 图像采集卡通常图像采集卡安装于计算机主板扩展槽中,通过主机发出指令,将某一帧图像静止在存储通道中,即采集或捕获一帧图像,然后可对图像进行处理或存盘。
1、 完成课本习题3.2(a)(b), 课本中文版《处理》第二版的113页。
可以通过matlab 帮助你分析理解。
解:(a)s =T(r)=11+(m r ⁄)E其中,r 为输入图像亮度,s 为输出图像的相应亮度,E 控制该函数的斜率。
(b) L 是图像中灰度的级数,使m=L/2;若假定L=500,则m=250。
使用matlab 对E 分别为10,15,20,100时的情况进行分析,最后可得到如下结果:图1 matlab 分析结果2、一幅8灰度级图像具有如下所示的直方图,求直方图均衡后的灰度级和对应概率,并画出均衡后的直方图的示意图。
(计算中取整采用四舍五入方法,图中的8个不同灰度级对应的归一化直方图为[0.17 0.25 0.21 0.16 0.07 0.08 0.04 0.02])解:直方图均衡化的变换函数为s k =T (r k )=∑p r (r i )k i=0 0≤r k ≤1;k =0,1,…7 故可算得变化函数s 0计:s0计= T(r0)=0.17 s1计=0.17+0.25=0.42s2计=0.63 s3计=0.79s4计=0.86 s5计=0.94s6计=0.98 s7计=1.00但考虑到输出图像灰度是等间隔的,且与原图像灰度范围一样取8个等级,即要求s k=i/7(i=0,1,2,3…7)。
因此需要对s k计进行修正,采用四舍五入法可得s0并=1/7 s1并=3/7s2并=4/7 s3并=6/7s4并=6/7 s5并=1s6并=1 s7并=1根据s k并计算结果可知,直方图均衡化后的输出图像的灰度级仅为5个级别,即为s0=1/7 s1=3/7 s2=4/7 s3=6/7 s4=1且根据r k与s k的关联性,可计算得s k对应概率为:P s(s0=1/7)=0.17 P s(s1=3/7)=0.25P s(s2=4/7)=0.21 P s(s3=6/7)=0.23P s(s5=1)=0.14根据s k取值和对应概率,画出的均衡化后的直方图如下图所示:图2 均衡化后的直方图3. (选做题)课本习题3.6。
第一部分数字图像处理实验一图像的点运算实验1.1直方图一.实验目的1 •熟悉matlab图像处理工具箱及直方图函数的使用;2•理解和掌握直方图原理和方法;二.实验设备1. PC 机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
l=imread('camerama n.tif);% 读取图像subplot(1,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图title(' 原始图像直方图')%在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab 环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3•浏览源程序并理解含义;4. 运行,观察显示结果;5. 结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
(a)原始图像(b) 原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2灰度均衡一.实验目的1 .熟悉matlab图像处理工具箱中灰度均衡函数的使用;2•理解和掌握灰度均衡原理和实现方法;二.实验设备1. PC机一台;2. 软件matlab ;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
l=imread('camerama n.tif);% 读取图像subplot(2,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(2,2,3),imhist(l) % 输出原图直方图title(' 原始图像直方图')%在原图直方图上加标题a=histeq(l,256); % 直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) % 输出均衡化后图像title(' 均衡化后图像')%在均衡化后图像中加标题subplot(2,2,4),imhist(a) % 输出均衡化后直方图title(' 均衡化后图像直方图')%在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab 环境;2. 在matlab命令窗口中输入相应程序。
一、判断题(10分)(正确√,错误×)1.图像处理就是对图像信息进行加工处理,以满足人的视觉心理和实际应用的要求(√)2.在MATLAB中,uint8是无符号8位整数(√)3.在MATLAB中,uint16是无符号16位整数(√)4.图像的点运算与代数运算不相同(√)5.点运算也叫灰度级变换(√)6.线性点运算可以改变数字图像的对比度(√)7.图像的几何变换也叫图像的点运算(×)8.图像的平滑操作实际上是邻域操作(√)9.傅立叶变换后的矩阵处在频域上(√)10.傅立叶变换后的矩阵处在空域上(×)11.傅立叶变换,人们可以在空域和频域中同时思考问题(√)12.像素深度是指存储每个像素所用的位数(√)13.图像经过变换后,图像的大部分能量都集中在中、高频段(×)14.图像经过变换后,图像的大部分能量都集中在低频段(√)15.直方图均衡化也是一种非线性点运算(√)16.仿射变换是空间变换(√)17.空间变换是频域变换(×)18.边缘检测是将边缘像元标识出来的一种图像分割技术(√)19.灰度直方图能反映一幅图像各灰度级像元占图像的面积比(√)20.直方图均衡是一种点运算,图像的二值化则是一种局部运算(×)21.双边滤波法可用于边缘增强(×)22.均值平滑滤波器可用于锐化图像边缘(×)23.拉普拉斯算子可用于图像的平滑处理(×)24.高频加强滤波器可以有效增强图像边缘和灰度平滑区的对比度(√)25.应用傅立叶变换的可分离性可以将图像的二维变换分解为行和列方向的一维变换(√)26.图像分割可以依据图像的灰度、颜色、纹理等特性来进行(√)27.图像增强有空域和变换域两类(√)28.加大、减小对比度分别会使图像发生亮处更亮,暗处更暗的直观变化(√)29.加大、减小亮度分别会使图像发生亮处更亮,暗处更暗的直观变化(×)30.二值图像就是只有黑白两个灰度级(√)31.一般来说,图像采样间距越大,图像数据量越大,质量越好;反之亦然(×)32.用Matlab开辟一个图像窗口的命令是imshow(×)33.图像尺寸为400*300是指图像的宽为400毫米,高为300毫米(×)34.一般而言,对于椒盐噪声,均值滤波的效果好于中值滤波(×)35.与高斯低通滤波器相比,理想低通滤波低通滤波器在图像处理过程中更容易出现振铃(rings)(√)二、填空题(20分,1分/空)1.一般来说,图像采样间距越小,图像数据量_____,质量_____;反之亦然(大,高)2.若采样4个数,大小分别为4.56 0.23 7.94 16.55。
P1:(a) Load the images lena.tif and mandril.tif in Matlab. What are the sizes of the two images? Use imread() to load the images in Matlab. You can find out the size of the images by using the command size() or whos to look at the Matlab workspace.Answer:The size of lena.tif is (512,512) and size of mandril.tif is (256,256).(b) What are the values of pixels lena(29, 86) and mandril(198, 201). Note that for us (based on the notation followed in the textbook) image matrix indices start from (0, 0). In Matlab the matrix indices start from (1, 1).Answer:lena(29,86) is actually the pixel of 30th row and 87th column, so the value of pixel lena(29,86) is 105;mandril(198,201) is actually the pixel of 199th row and 202th column, so the value of pixel mandril(198,201) is 158.(c) Plot the 103rd row of lena. Plot the 69th column of mandril. Use the plot() command to plot the row/column.Answer:Plot the 103rd row of lena:Plot the 69th column of mandril:(d) Generate and draw the image shown below where the image 010020030040050060005010015020025005010015020025030020406080100120140160180200sub-block (of size 128x128) on the top-left corner comes from mandril. The rest of the image is from lena. Use imshow() to draw the image. Answer:P2:Use imread() to load the image in Matlab. You can see the initial image consists of eight bits of data for each pixel. Please create new images using 5, 4, 3, 2 and 1 bit only for each pixel. How many bits are needed to preserve image quality? Does it change from place to place in the image? How so?Answer:Image using 5 bit for each pixel:程序代码如下:campusdrive=imread('campusdrive.tif');cam=double(campusdrive);cam5=floor(cam/8);%将原来的256个灰度级按比例减少为32个灰度级cam5=cam5*8;%为32个灰度级重新分配亮度(0为黑色,31为白色)cam5=uint8(cam5);imshow(cam5);Image using 4 bit for each pixel:程序代码如下:campusdrive=imread('campusdrive.tif');cam=double(campusdrive);cam4=floor(cam/16);%将原来的256个灰度级按比例减少为16个灰度级cam4=cam4*16;%为16个灰度级重新分配亮度(0为黑色,15为白色)cam4=uint8(cam4);imshow(cam4);Image using 3 bit for each pixel:程序代码如下:campusdrive=imread('campusdrive.tif');cam=double(campusdrive);cam3=floor(cam/32);%将原来的256个灰度级按比例减少为8个灰度级cam3=cam3*32;%为8个灰度级重新分配亮度(0为黑色,7为白色)cam3=uint8(cam3);imshow(cam3);Image using 2 bit for each pixel:程序代码如下:campusdrive=imread('campusdrive.tif');cam=double(campusdrive);cam2=floor(cam/64);%将原来的256个灰度级按比例减少为4个灰度级cam2=cam2*64;%为4个灰度级重新分配亮度(0为黑色,3为白色)cam2=uint8(cam2);imshow(cam2);Image using 1 bit for each pixel:程序代码如下:campusdrive=imread('campusdrive.tif');cam=double(campusdrive);cam1=floor(cam/64);%将原来的256个灰度级按比例减少为2个灰度级cam1=cam1*64;%为2个灰度级重新分配亮度(0为黑色,1为白色)cam1=uint8(cam1);imshow(cam1);观察发现,5bits基本可以保持图像质量,使之不出现伪轮廓,少于5bits图像会出现伪轮廓;P3:Subtracting to get image change. Download images carvision1.tif and carvision2.tif from /~qbhe/dip/.(a)Load the two images in Matlab. Determine the line length and displaythe images.Answer:The length of the two images is 640;To show the two images,Carvision1:Carvision2:(b)Compare the two images and note any differences. Answer:The location of the two cars in the images is different.(c)Subtract the second image from the first and display the difference tohighlight any changes in the image. What parts of the image arehighlighted, and why?Answer:car1=imread('carvision1.tif');car2=imread('carvision2.tif');dcar1=double(car1);dcar2=double(car2);dcar=dcar1-dcar2;car=abs(dcar);car=uint8(car);imshow(car>100);imshow(im2bw(car));车辆前后不同位置被高亮显示,因为两幅图片中车位置不同,不同处会被高亮显示。
第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(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('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
数字图像处理一、图像复原1、(1)matlab程序代码(使用电路板图片)a=imread('C:\Users\SUN\Desktop\a.tif'); %读图像b=imnoise(a,'gaussian',0,800/255^2); %加入0均值,方差800的噪声。
c=imnoise(b,'salt & pepper',0.1); % 在(a)的基础上,进一步加入椒盐噪声进一步污染图像(Pa=Pb=0.1的椒盐噪声)subplot(2,4,1),imshow(a) ,title('原始图像') %显示图片subplot(2,4,2),imshow(b) ,title('高斯噪声污染')subplot(2,4,3),imshow(c) ,title('继续被椒盐噪声污染')h=ones(5,5)/25; %算术均值滤波g1=imfilter(c,h);subplot(2,4,4),imshow(g1) ,title('算数均值滤波')%g2=power(exp(imfilter(log(double(c)),4*fspecial('average',2))),1/4); %几何均值滤波g2=exp(imfilter(log(double(c)),fspecial('average',1)));subplot(2,4,5),imshow(uint8(g2)) ,title('几何均值滤波')g3= medfilt2(c,[5,5]); %中值滤波subplot(2,4,6),imshow(g3) ,title('中值滤波')i=ones(5,5)/20;g4=imfilter(c,i);subplot(2,4,7),imshow(g4) ,title('修正后的α均值滤波')运行结果:(2)matlab程序代码(使用含有自己的图片)a=imread('C:\Users\SUN\Desktop\i.jpg'); %读图像a1=rgb2gray(a);b=imnoise(a1,'gaussian',0,800/255^2); %加入0均值,方差800的噪声。
实验1——Matlab图像处理初步
实验目的:熟悉Matlab语言关于图像处理的基本操作
实验内容:练习imread、imshow、iminfo、imwrite、subplot、for等命令以及矩阵计算有关命令。
实验要求:
1、读取并显示cameraman.tif图像(提示:imread)。
2、将图像中间的1/3部分(如图)分别作如下处理,其余部分不变
a) 每个像素点的值都乘以2,即f(x,y)=2*f(x,y),显示处理前后的图像(提
示:imshow),同一个图像窗口左右显示(提示:subplot),左边显示原
始图像,右边显示处理后图像,处理后图像保存为cameraman1.bmp(提
示:imwrite)
b) 每个像素点取反色,即f(x,y)=255-f(x,y);显示处理前后的图像,同一个
图像窗口上下显示(提示:subplot),上边显示原始图像,下边显示处理
后图像,处理后图像保存为cameraman2.bmp(提示:imwrite)
3、撰写实验报告并附上所用程序和结果。
f=imread('cameraman.tif');
[m n]=size(f);
g=f;
r=round(m/3);
c=round(n/3);
for i=r:2*r
for j=c:2*c
g(i,j)=2*f(i,j);
end
end
subplot(2,1,1),imshow(f);
subplot(2,1,2),imshow(g);
imwrite(g,'cameraman1.bmp','bmp');
2013-12-16。
数字图像处理作业摘要MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。
实际上MATLAB中的绝大多数的运算都是通过矩阵这一形式进行的。
这一特点也就决定了MATLAB在处理数字图像上的独特优势。
理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。
二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。
而MATLAB的长处就是处理矩阵运算,因此用MATLAB处理数字图像非常的方便。
MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB 图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读、写和显示。
MATLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。
图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。
一、MATLAB中图像文件的读/写imreadimread函数用于读入各种图像文件,其一般的用法为[X,MAP]=imread( ‘filename’, ‘fmt’)其中,X为读出的图像数据,MAP为颜色表数据(或称调色板,亦即颜色索引矩阵,对灰度图像和RGB彩色图像,该MAP为空矩阵),fmt为图像的格式(可以缺省),filename为读取的图像文件(可以加上文件的路径)。
例:[X,MAP]=imread(‘flowers.tif’, ‘tif’)二、MATLAB中图像文件的显示MATLAB图像处理工具箱提供了imshow函数来显示各种图像,其语法如下:imshow(I, n)或imshow(I_BW);imshow(X, MAP);imshow(I_RGB) 其中imshow(I, n)用于显示灰度图像,I是图像数据矩阵,n为灰度级数目(n可缺省,缺省值为256)。
数字图像处理作业1《数字图像处理》2018/9/30作业1.根据个人理解给出灰度图像、比特深度、图像分辨率、图像直方图这几个基本概念内涵。
(1)灰度图像:灰度图像通常有传统单通道灰度和三通道灰度图像之分;传统单通道灰度图:每个像素只采样一种颜色,如果每个采样像素为8bit,那么生成的图像就是颜色从0黑色到256白色不同灰度的图像。
三通道灰度图像:在图像处理中,用RGB三个通道表示真彩色,RGB 取值范围均为0~255。
而RGB灰度图像就是RGB彩色分量相等,我们将彩色图像转换成灰度图像,也就是3个通道(RGB)转换成1个通道。
二值图像是特殊的灰度图,它只有两个值:0表示黑,1表示白,每个像素只需要1bit存储信息。
对于同一张图片,有N个像素,那么,二值图有2的N次方种变化,而8位灰度图有255的N次方种变化,8为三通道RGB图像有255*255*255的N次方种变化。
同样尺寸的图像,保存的信息:二值图<传统单通道灰度图<三通道灰度图像。
图片大小:二值图<传统单通道灰度图<三通道灰度图像。
在Photoshop中查看任何灰度图像,无论是单通道灰度,还是已经转换为三通道RGB,它看起来都是一样的。
这是因为Photoshop 是有颜色管理的,并且知道如何呈现两种不同的格式。
(图1:PS中RGB转化为灰度图)(图2:灰度图)·将彩色图像转换成灰度图像Matlab实现:图像灰度化的算法主要有以下3种:1)最大值法:使转化后的R,G,B得值等于转化前3个值中最大的一个,即:R=G=B=max(R,G,B)这种方法转换的灰度图亮度很高。
2)平均值法:是转化后R,G,B的值为转化前R,G,B的平均值。
即:R=G=B=(R+G+B)/3这种方法产生的灰度图像比较柔和。
3)加权平均值法:按照一定权值,对R,G,B的值加权平均。
由于人眼对绿色最为敏感,红色次之,对蓝色的敏感性最低,因此使将得到较易识别的灰度图像,因此这样得到的灰度图像效果最好。
数字图像处理实验报告指导老师:学号姓名班级1.产生右图所示图像f1(),其中图像大小为256×256,中间亮条为128×32,暗处=0,亮处=100。
对其进行:①同屏显示原图f1()和(f1)的幅度谱图;②若令f2()=(-1)()f1(),重复以上过程,比较二者幅度谱的异同,简述理由;③若将f2()顺时针旋转90度得到f3(),试显示(f3)的幅度谱,并与(f2)的幅度谱进行比较;④若将f1()顺时针旋转90度得到f4(),令f5()1()4(),试显示(f5)的幅度谱,并指出其与(f1)和(f4)的关系;⑤若令f6()2()3(),试显示(f6)的幅度谱,并指出其与(f2)和(f3)的关系,比较(f6)和(f5)的幅度谱。
f1(256,256);64:1:192122:1:144f1()=100;12(f1);1(1);1(1,1);1(1,1);1:2561:256<1()1();>1()1();;1:2561:2561()=255*(1());(1,2,1);(f1);('原图');(1,2,2);(1);('原图的幅度谱');1:2561:256f2()=(-1)^()*f1();22(f2);2(2);2(1,1);2(1,1);1:2561:256<2()2();>2()2();;1:2561:2562()=255*(2());(2,2,1);(f1);('原图');(2,2,2);(1);('原图的幅度谱');(2,2,3);(f2);('原图中心化');(2,2,4);(2);('原图中心化的幅度谱');f3(f290,'');32(f3);3(3);3(1,1);3(1,1);1:2561:256<3()3();>3()3();;1:2561:2563()=255*(3());(2,2,1);(f2);('原图中心化');(2,2,2);(2);('原图中心化的幅度谱');(2,2,3);(f3);('旋转后的图像');(2,2,4);(3);('旋转后的幅度谱');图像旋转90度后,幅度谱也旋转了90度。