2024年2月21日发(作者:)
哈工大数字图像处理实验报告(共10篇)
数字图像处理实验报告
实验报告书
实验类别 数字图像处理
学 院 信息工程学院
专 业通信工程
班 级 通信1005班
姓 名 叶伟超
指导教师 聂明新
2013 年 6 月 3 日
篇二:数字图像处理实验报告(全部)
数
字
图
像
处
理
实
验
指
导
书
125 200912512 班级:学号:姓名:田坤专业:电子信息科学与技术
实验一 数字图像的运算
一.实验目的
1.熟悉matlab图像处理工具箱及直方图函数的使用;
2.理解和掌握直方图原理和方法;
二.实验设备:机一台;2.软件matlab。
三.程序设计
在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('');%读取图像
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、给出实验原理过程及实现代码:
I=imread('');%读取图像
subplot(1,2,1),imshow(I)%输出图像
title('原始图像') %在原始图像中加标题
subplot(1,2,2),imhist(I) %输出原图直方图
title('原始图像直方图') %在原图直方图上加标题
2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。 1
一.实验目的
1.熟悉matlab图像处理工具箱及均值滤波函数的使用;
2.理解和掌握3*3均值滤波的方法和应用;
二.实验设备:机一台;2.软件matlab
三.程序设计
在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
I = imread('');
figure,imshow(I);
J=filter2(fspecial(‘average’,3),I)/255;
figure,imshow(J);
四.实验步骤
1. 启动matlab
双击桌面matlab图标启动matlab环境;
2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像增强(均值滤波)函数,设置参数;最后输出处理后的图像;
3.浏览源程序并理解含义;
4.运行,观察显示结果;
5.结束运行,退出;
五.实验结果:
观察matlab环境下原始图像经3*3均值滤波处理后的结果。
2
(a)原始图像(b)3*3均值滤波处理后的图像
六.实验报告要求
输入一幅灰度图像,给出其图像经3*3均值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行均值滤波,看看对25个点取均值与对9个点取中值进行均值滤波有什么区别?有没有其他的算法可以改进滤波效果。
(a)原始图像(b)3*3均值滤波处理后的图像
一.实验目的
1.熟悉matlab图像处理工具箱及中值滤波函数的使用;
2.理解和掌握中值滤波的方法和应用;
二.实验设备:机一台;2.软件matlab
三.程序设计
在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。
I = imread('');
figure,imshow(I);
J=medfilt2(I,[5,5]);
figure,imshow(J);
四.实验步骤
1. 启动matlab
双击桌面matlab图标启动matlab环境;
2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像增强(中值滤波)函数,设置参数;最后输出处理后的图像;
3.浏览源程序并理解含义;
3
4.运行,观察显示结果;
5.结束运行,退出;
五.实验结果
观察matlab环境下原始图像经3*3中值滤波处理后的结果。
(a)原始图像(b)3*3中值滤波处理后的图像
六.实验报告要求
输入一幅灰度图像,给出其图像经3*3中值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行排序后取中值,然后该点的灰度值取中值。看看对25个点取中值与对9个点取中值进行中值滤波有什么区别?
(a)原始图像 (b)3*3中值滤波处理后的图像
一.实验目的
1.熟悉matlab图像处理工具箱及图像缩放函数的使用;
2.掌握图像缩放的方法和应用;
二.实验设备:机一台;2.软件matlab
三.程序设计
在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。
I = imread('');
figure,imshow(I);
scale = 0.5;
J = imresize(I,scale);
figure,imshow(J);
四.实验步骤
1. 启动matlab
双击桌面matlab图标启动matlab环境;
4
篇三:数字图像处理实验报告
数字图像处理实验报告
姓 名: 罗靓
学 号:
班 级: 地理信息系统1201
指导教师:梅小明
地球科学与信息物理学院
2014年5月24日
Visual C++ 数字图像处理
一、程序功能
视觉是人类从大自然中获取信息的最重要的手段,而图像正是人类获取视觉信息的主要途径。所谓图像处理,就是对图像信息进行加工以满足人的视觉心理或应用需求的行为。
本数字图像处理系统主要分为:
(1)图像的读取
图像在显示屏的显示时采用扫描的方式:电子枪每次从左到右扫描一行,为每个像素着色,然后在像这样从上到下扫描整个屏幕,利用人眼的视觉暂留效应就可以显示出一屏完整的图像。
一个BMP文件大体上可以分为位图文件头(BITMAPFILEHEADER),位图信息头(BITMAPINFOHEADER),调
色板(Palette),DIB图像数据。所以我们可以根据DIB读取图像信息,从而进行图像的读取。因此建立一个DIB库。
(2)图像信息的读取
主要是根据读取BITMAPINFOHEADER中的信息获取图像中的信息。
(3)灰度直方图
灰度直方图是属于点运算的,但是由于当时创建菜单的时候的失误将其放入了查看的选项中。
灰度直方图是灰度值的函数,描述的是图像中具体该灰度值得像素的个数,其横坐标表示像素的灰度级别,纵坐标是该灰度出现的频率(像素的个数)。
(4)点运算
点运算主要是针对图像的像素进行加、减、乘、除等运算。图像的点运算可以有效地改变图像的直方图分布,这对提高图像的分辨率以及图像均衡都是非常有益。本系统中关于点运算有:图像反色,线性变换和灰度均衡
(5)图像增强
图像增强的作用主要是突出图像中重要的信息,同时减弱或去除不需要的信息。常用方法有直方图增强和伪彩色增强等。
本系统主要有直方图增强还有图像的平滑和锐化。
(6)边缘与轮廓
图像的边缘是图像的最基本特征。所谓边缘就是指其周围像素
灰度有阶跃变化或屋顶变化的那些像素的集合。物体的边缘是由灰度不连续性所反映的。经典的边缘提取方法是考察图像的每个像素在某个领域内灰度的变化,利用边缘邻接一阶或二阶方向导数变化规律,用简单的方法检测边缘。这种方法称为边缘检测
局部算子法。
边缘检测算子检查每个像素的领域并对灰度变化率进行量化,与包括方向的确定。大部分是试用基于方向导数掩膜求卷积的方法。
由于大致格式一样,只是模板有些不同,所以该程序只写了Roberts边缘检测算子。
(7)图像变换
数字图像处理的方法主要有两类:空间域处理法及频域法。点运算是在空间域中进行图像处理的。本系统中傅立叶变换就是一种频域的变化。傅立叶变换是十九世纪数学界和工程界最辉煌的成果之一。它一直是信号处理领域中最完美、应用最广泛、效果最好的一种分析手段。它也是线性系统分析的有利工具,它使人们能够定量地分析诸如数字系统、采样点、电子放大器、卷积、滤波、噪声、显示点等的作用。把傅立叶变换理论同其物理解释相结合,将大大有助于解决大多数图像处理问题。
傅立叶变换使人们从空间域(或时域)与频率域两个不同的角度来看待信号或图像的问题。有时在时域无法解决的问题,在频域却是显而易见的。
二、实验环境
VC6.0
三、实验过程
(1)图像的读取
编写自己的文档程序,能读取BMP图像(采用DIB)。
1.打开VC++6.0,构建自己的DIB函数库,输完后保存为相应的*.h或*.cpp。
2.新建工程,各个步骤用缺省设置。
3.具体程序实现,参考书本中的使用DIB读写BMP文件示例。
DIB库中主要是包括下面几个函数。
PaintDIB() - 绘制DIB对象
CreateDIBPalette() - 创建DIB对象调色板
FindDIBBits() - 返回DIB图像象素起始位置
DIBWidth() - 返回DIB宽度
DIBHeight()- 返回DIB高度
PaletteSize() - 返回DIB调色板大小
DIBNumColors()- 计算DIB调色板颜色数目
CopyHandle() - 拷贝内存块
SaveDIB() - 将DIB保存到指定文件中
ReadDIBFile() - 重指定文件中读取DIB对象
DIBToPCX256()
ReadPCX256() - 将指定的256色DIB对象保存为256色PCX文
件 - 读取256色PCX文件
在实现这些函数的时候主要是用到了几个Windows支持的重要的DIB访问函数,通过这些函数能够很好地获取图像和图像信息。
SetDIBitsToDevice()可以直接在显示器或打印机上显示DIB,显示时不进行缩放处理。
StretchDIBits ()可以缩放显示DIB于显示器和打印机上。
FindDIBits()找到DIB图像像素的起始位置。
SelectPalette()选中调色板 等……
完善DIB库后,再通过添加一些MFC的代码,就可以实现图像的读取了。
(2)图像信息的读取
实现该功能的时候主要是利用到了DIB本身有一个包含图像基本信息的图像信息头BITMAPINFOHEADER。通过访问BITMAPINFOHEADER,就可以把文件的一些基本信息读出。这里只读取了图像的大小,长度和宽度。
Cdlgproperties dlgproper;
BITMAPINFOHEADER *lpbit; lpbit =
(LPBITMAPINFOHEADER)lpDIB; dlgproper.m_size=lpbit-biSizeImage;
=lpDIB; dlgproper.m_height=::DIBHeight(lpDIB);
dlgproper.m_width=::DIBWidth(lpDIB);
(3)灰度直方图
要在对话框中绘制图像的灰度直方图,首先必须得到图像像素
的指针(保存在类成员变量m_lpDIBBits中)和图像的高度和宽度信息(保存在类成员变量m_lHeight和m_lWidth中)
。有了这些信息,就可以计算各个灰度的像素数(保
存在类成员变量m_lCount[256]数组中)。因为各个灰度级的计数不同,所以某些灰度的计数可能远远大于其他的灰度计数,所以定义两个成员变量来保存用户的设置:m_iLowGray保存用户指定查看区间的起始灰度;m_iUpGray保存查看区间的上限。
1.在原来程序上添加一对话框:ResourceView-Dialog,右键-Insert…-Dialog-New.
2.右击对话框-属性,修改相应的ID及名称
3.添加相应的控件:三个静态文本控件,二个编辑箱控件,OK及Cancel控件保留,为了布局,拖到下面。
4.创建新类,右键对话框,- ClassWizard,输入类名:CdlgIntensity
5.映射类CDlgIntensiy的消息和添加类CDlgIntensiy的成员变量。包括:(OnInitDialog;OnKillfocusEDITLowGray;
OnKillfocusEDITUpGray;
OnLButtonDown;OnLButtonUp;OnMouseMove;OnOK;OnPaint)及(m_iLowGray和m_iUpGray)两部分内容。
6.添加直方图菜单项
7.编写各个函数的代码
(4)点运算
具体的MFC的对话框建立与菜单添加过程和灰度直方图的相
似,就不再说明。
1.灰度的线性变换就是将图像中的所有的点的灰度按照线性会的变换函数进行变换。DB?f(DA)?fA?DA?fB参数fA是线性函数的斜率,fB为线性函数的在y轴的截距,DA表示输入图像的灰度,DB表示输出图像的灰度。当fA1时,输出图像的对比度增大;当fA1时,输出的图像的对比度将减小;当fA = 1,fB = 0时,操作仅使所有像素的灰度值上移或者下移,其效果就是整个图像更暗或者更亮;如果
fA 0,暗区域将变亮,亮区域变暗;当fA = -1,fB = 255
时,输出的
篇四:数字图像处理实验报告
数 字 图 像 处 理
实 验 报 告
课 程:
班 级:
学 号:
姓 名:
指导老师:
日 期:
实 验 一
内容一 MATLAB数字图像处理初步
一、实验目的与要求
1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验内容及步骤
1.利用imread( )函数读取一幅图像,假设其名为,存入一个数组中; 解:读取图像,存入数组I中:I =
imread('');
2.利用whos 命令提取该读入图像的基本信息;
解: 查询数组I的信息:
3.利用imshow()函数来显示这幅图像;
解:因为imshow()方法不能直接显示tif图像矩阵,因此要先转换成RGB模式,再调用imshow()显示。
代码如下:
I1 = I(:,:,1);
I2 = I(:,:,2);
I3 = I(:,:,3);
RGB = cat(3,I1,I2,I3);
imshow(RGB);
显示的图像为:
4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
解:代码如下: imfinfo('')
结果截图:
5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
解:代码:
imwrite(RGB,'','quality',80);
结果截图:
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为。
解:
代码: imwrite(RGB,'');
结果截图:
篇五:哈工大数字图像处理课程总结
数字图像处理课程总结
第一章:绪论
1、重点在于涉及到图像的一些重要的基本概念 ? 图像定义;
图像表示;
图像的数字化,量化和采样;
数字图像的基本属性;
2、数字图像处理主要内容的理解
第二章:图像的视觉基础
1、视觉和视觉低层次感知的理解
2、人眼的视觉特性
相对视敏函数
对比度的灵敏度和同时对比度
马赫带和视觉系统的调制传输函数 ? 彩色视觉特性
3、颜色视觉模型
RGB和HSI的含义
4、成像模型基础
5、采样和量化
非均匀采样和非均匀量化的理解
6、像素间联系
邻域关系
7、距离度量计算和邻域模板运算
8、坐标变换
平移、尺度和旋转的理解、变换公式
第三章:图像变换
1、可分离变换
(1) 2D傅里叶变换性质和分析
(2) 可分离变换的定义和性质
(3) Walsh变换、哈达玛变换、离散余弦变换的基本计算
2、统计变换
(1) 主成分分析原理
(2) 主成分分析的计算
(3) 主成分分析的理解
第四章:图像增强
1、空域变换增强
直接灰度变换
直方图处理:直方图均衡、直方图规定化 ? 图像间运算
2、空域滤波增强
平滑滤波和锐化滤波:线性和非线性
低通滤波和高通滤波:巴特沃斯滤波器,振铃效应 ? 同态滤波:基本原理,解释
局部增强:原理
3、彩色增强
伪彩色和假彩色的区分
基于HSI和RBG转换的图像融合基本原理
第五章:图像复原
1、退化模型
退化模型的基本形式
退化的基本类型
退化模型矩阵循环三角化特性
2、无约束复原
逆滤波:原理,公式推导
逆滤波的应用
3、有约束复原
有约束复原:原理和公式推导
维纳滤波
最小平方恢复
4、几何失真校正
几何失真校正的基本原理
空间变换:涉及到图像坐标变换
灰度插值:最近邻,双线性
5、投影重建
投影重建原理:基本类型,例子,原理图
投影重建的方法:傅里叶变换,卷积逆投影,级数展开
第六章:图像压缩编码
1、图像压缩的基本原理:质量保真度准则
2、数据冗余:编码冗余,像素间冗余,心理视觉冗余
3、图像信源编码基本框架:映射器,量化器,符号编码器
4、简单编码方法
哈夫曼编码:编码,解码,特点
算术编码:编码,解码,特点
5、预测编码
无损预测编码:基本原理,预测模型及相关概念 ? 有损预测编码:基本原理
6、变换编码
变换编码系统模型、基本思想
变换方法的选择
子图像尺寸选择
比特分配
篇六:数字图像处理实验报告
学生实验报告书
实验课程
学院
班级
姓名 学号 数字图像处理 公安技术学院 2013级信息安全本科班
二〇一六年六月二日
实验一图像增强实验
一、实验目的
1、掌握灰度直方图的概念及其计算方法;
2、掌握基本的图象增强方法,观察图象增强的效果,加深对灰度直方图的理解;
3、掌握直方图均衡化原理;
4、利用MATLAB程序进行图像增强.
二、实验原理
图像增强是按指定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。图像增强技术主要有直方图修正处理,图像平滑化处理,图像尖锐化处理等。本实验以灰度变换,直方图均衡化增强图像对比度的方法为主要内容。
1.直方图是图像的最基本的统计特征,它反应的是图像的灰度值的分布情况。图像的直方图事实上就是图像的亮度分布的概率密度函数,是一幅图像的所有像素集合的最基本的统计规律。直方图反映了图像的明暗分布规律,可以通过图像变换进行直方图调整,获得较好的的视觉效果。
2.直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即每个灰度级上都具有相同像素点数的过程。直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。
3.灰度线性变换是图像增强的重要手段之一,它可使图像动态范围加大,使图像对比度扩展,图像更加清晰,特征更加明显原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a’,b’]
公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a
三、实验内容
1.计算出一幅灰度图象的直方图;
2.对灰度图像进行简单的灰度线形变换
原图像 f(m,n) 的灰度范围 [a, b] ;线形变换为图像g(m,n) ,
灰度范围[a’, b’] ;公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)
3. 图像二值化(选取一个域值,将图像变为黑白图像)
4.利用直方图均衡化进行图像增强
实验图像: 、
四、实验结果及分析
1.计算出一幅灰度图象的直方图;
分析:灰度直方图(histogram)是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率,是图象的最基本的统计特征。
2.对灰度图像进行简单的灰度线形变换
篇七:数字图像处理实验报告
数字图像处理
实验报告
序 号:
姓 名:
学 号:
专业班级
日 期:
目录
实验一、读取图像、显示图像和保存图像
实验二、图像的灰度变换、取反和二值化处理
实验三、直方图均衡
实验四、图像锐化
实验五、图像的平滑滤波
实验六、图像的正交变换
实验七、高频强调滤波增强图像
实验八、陷波滤波器增强图像
实验九、消除匀速运动造成的图像模糊
实验十、图像的几何变换
实验十一、二维离散傅里叶变换性质验证
实验十二、用领域平均法平滑彩色图像
实验十三、图像的伪彩色处理
实验一、读取图像、显示图像和保存图像
一、实验目的和内容
1.通过本次实验,了解和熟悉matlab的实验环境,掌握图片的读取、显示、存储的方法。
2.利用imread()函数读取一幅图像,假设其名为,存入一个数组中。
3.利用imshow()函数来显示这幅图像。
二、实验原理(技术探讨)
1.在 matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
读取图像subplot(1,2,1),imshow(I)%输出图像
title('原始图像')%在原始图像中加标题
2.启动matlab双击桌面matlab图标启动matlab环境;
在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;
浏览源程序并理解含义;
运行,观察显示结果;
结束运行,退出
三、实验程序及结果
1.实验程序
I=imread('实验一.jpg');
x=rgb2gray(I);
figure(1)
subplot(1,2,1);
imshow(I);
title('原始图像');
subplot(1,2,2);
imshow(x);
title('灰度图像');
2.实验结果
四、结果分析
通过本实验,我学会了用Matlab7.0对图像进行读取、存储、显示的节本操作。
实验二、图像的灰度变换、取反和二值化处理
一、实验目的和内容
1.熟悉MATLAB软件开发环境,掌握读、写图像的基本方法。
2.理解图像灰度变换在图像增强的作用,掌握图像的灰度线性变换和非线性变换方法。
3.掌握绘制灰度直方图的方法,掌握灰度直方图的灰度变换及二值化的方法。
二、实验原理(技术探讨)
1.图像的灰度化处理的基本原理
将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理
篇八:数字图像处理实验报告(全答案)
实验一 常用MATLAB图像处理命令
一、实验目的
1、熟悉并掌握MATLAB工具的使用;
2、实现图像的读取、显示、代数运算和简单变换。
二、实验环境
MATLAB 6.5以上版本、WIN XP或WIN2000计算机
三、常用函数
读写图像文件
1 imread
imread函数用于读入各种图像文件,如:a=imread('e:') 2 imwrite
imwrite函数用于写入图像文件,如:imwrite(a,'e:',’tif’) 3 imfinfo
imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:') ? 图像的显示
1 image
image函数是MATLAB提供的最原始的图像显示函数,如:
a=[1,2,3,4;4,5,6,7;8,9,10,11,12];
image(a);
2 imshow
imshow函数用于图像文件的显示,如:
i=imread('e:');
imshow(i);
title(‘原图像’)%加上图像标题
3 colorbar
colorbar函数用显示图像的颜色条,如:
i=imread('e:');
imshow(i);
colorbar;
4 figure
figure函数用于设定图像显示窗口,如:figure(1); /figure(2);
5 subplot
把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。
Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建坐标轴为当前坐标轴,用于显示图形。
6 plot
绘制二维图形
plot(y)
Plot(x,y)xy可以是向量、矩阵。
图像类型转换
1 rgb2gray//灰色
把真彩图像转换为灰度图像
i=rgb2gray(j)
2 im2bw//黑白
通过阈值化方法把图像转换为二值图像
I=im2bw(j,level)
Level表示灰度阈值,取值范围0~1(即0.n),表示阈值取自原图像灰度范围的n%
3 imresize
改变图像的大小
I=imresize(j,[m n])将图像j大小调整为m行n列
图像运算
1 imadd
两幅图像相加,要求同样大小,同种数据类型
Z=imadd(x,y)表示图像x+y
2 imsubstract
两幅图像相减,要求同样大小,同种数据类型
Z=imsubtract(x,y) 表示图像x-y
3 immultiply
Z=immultiply(x,y) 表示图像x*y
4 imdivide
Z=imdivide(x,y) 表示图像x/y
5:m = imadjust(a,[,],[0.5;1]) ;%图像变亮
n = imadjust(a,[,],[0;0.5]) ;%图像变暗
g=255-a;%负片效果
四、实验内容(请将实验程序填写在下方合适的位置,实验图像结果拷屏粘贴)
1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
a=imread('f:')
i = rgb2gray(a)
I = im2bw(a,0.5)
subplot(3,1,1);imshow(a);title('原图像')
subplot(3,1,2);imshow(i);title('灰度图像')
subplot(3,1,3);imshow(I);title('二值图像')
2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
a=imread('f:')
A=imresize(a,[800 800])
b=imread('f:')
B=imresize(b,[800 800])
Z1=imadd(A,B)
Z2=imsubtract(A,B)
Z3=immultiply(A,B)
Z4=imdivide(A,B)
subplot(3,2,1); imshow(A);title('原图像A')
subplot(3,2,2); imshow(B);title('原图像B')
subplot(3,2,3); imshow(Z1);title('加法图像')
subplot(3,2,4); imshow(Z2);title('减法图像')
subplot(3,2,5); imshow(Z3);title('乘法图像')
subplot(3,2,6); imshow(Z2);title('除法图像')
3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。
a=imread('f:');
m = imadjust(a,[,],[0.5;1]) ;%图像变亮
n = imadjust(a,[,],[0;0.5]) ;%图像变暗
g=255-a;%负片效果
subplot(2,2,1);imshow(a);title('原图像')
subplot(2,2,2);imshow(m);title('图像变亮')
subplot(2,2,3);imshow(n);title('图像变暗')
subplot(2,2,4);imshow(g);title('负片效果')
篇九:数字图像处理实验报告
数字图像处理
实验报告
班级:通信103
学号:201027201
姓名:计富威
指导教师:孙洁
实验一 MATLAB数字图像处理初步
一、实验目的与要求
1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验内容及步骤
1.利用imread( )函数读取一幅图像,假设其名为”第一个.tif”,存入一个数组中;
I=imread('第一个.tif');
2.利用whos命令提取该读入图像”第一个.tif”的基本信息;
whos I
3.利用imshow()函数来显示这幅图像;
imshow(I);
第一个.tif
4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
imfinfo('第一个.tif');
5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
imwrite(I,'第一个.jpg','quality',50)
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为。
imwrite(I,'第一个.bmp');
7.用imread()读入图像: 和;
b=imread('');
c=imread('');
8.用imfinfo()获取图像和 的大小;
imfinfo('');
imfinfo('');
9.用figure,imshow()分别将和显示
出来,观察两幅图像的质量。
figure
imshow(b);
figure
imshow(c);
(图像截图)
(图像截图)
10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
d=im2bw(b);
figure
imshow(b);
figure
imshow(d);
篇十:数字图像处理实验报告
数字图像处理实验报告
班级:
学号:
姓名:
实验一 DTF变换与余弦变换
一、实验内容:
用Matlab对某幅图像进行图像的离散付里叶变换、离散余弦变换
二、实验目的:
1. 掌握傅立叶变换
2. 理解频域变换的通用公式
3. 掌握离散余弦变换
三、实验原理:
f=imread(C:);
F=fft2(f);
F=fft2(f,P,Q);
S=abs(F);
Fc=fftshift(F);
S2=log(1+abs(Fc));
F=ifftshift(Fc);
F=ifft2(F);
F=real(ifft2(F));
dct2f()/idct2()
imshow
四、源程序:
%傅里叶变换
clear all;
clc;
x=imread('C:UsersKDesktopmatlab
');
y=imread('C:UsersKDesktopmatlab
');
subplot(3,2,1);imshow(x);title('x 原图');
subplot(3,2,2);imshow(y);title('y 原图');
% 傅里叶变换
qf=fft2(double(x));
lf=fft2(double(y));
%取幅度和相位
qf1=abs(qf);
qf2=angle(qf);
lf1=abs(lf);
lf2=angle(lf);
%进行重建
qfr=qf1.*cos(qf2)+qf1.*sin(qf2).*i;
lfr=lf1.*cos(lf2)+lf1.*sin(lf2).*i;
xr=uint8(abs(ifft2(qfr)));
yr=uint8(abs(ifft2(lfr)));
subplot(3,2,3);imshow(xr,[]);title('x幅谱与相谱重建');
subplot(3,2,4);imshow(yr,[]);title('y幅谱与相谱重建');
qfrm=qf1.*cos(lf2)+qf1.*sin(lf2).*i;
lfrm=lf1.*cos(qf2)+lf1.*sin(qf2).*i;
xr1=uint8(abs(ifft2(qfrm)));
yr1=uint8(abs(ifft2(lfrm)));
subplot(3,2,5);imshow(xr1,[]);title('x幅谱与y相谱重建');
subplot(3,2,6);imshow(yr1,[]);title('y幅谱与x相谱重建');
%余弦变换
x1=rgb2gray(x);y1=rgb2gray(y);
figure(2);
subplot(3,2,1);imshow(x1);title('x 原图');
subplot(3,2,2);imshow(y1);title('y 原图');
dctxchange=dct2(x1);
dctychange=dct2(y1);
subplot(3,2,3);
imshow(log(abs(dctxchange)),[]);
title('x图余弦变换幅频');
subplot(3,2,4);
imshow(log(abs(dctychange)),[]);
title('y图余弦变换幅频');
subplot(3,2,5);
imshow(log(angle(dctxchange)),[]);
title('x图余弦变换相频');
subplot(3,2,6);
imshow(log(angle(dctychange)),[]);
title('y图余弦变换相频');
%重建
dctxchange1=abs(dctxchange);
dctxchange2=angle(dctxchange);
dctychange1=abs(dctychange);
dctychange2=angle(dctychange);
figure(2)
dctxchanger=dctxchange1.*cos(dctxchange2)+dctxchange1.*sin(dct
xchange2).*i;
dctychanger=dctychange1.*cos(dctychange2)+dctychange1.*sin(dctychange2).*i;
dctxchanger=uint8(abs(idct2(dctxchanger)));
dctychanger=uint8(abs(idct2(dctychanger)));
subplot(221);imshow(dctxchanger,[]);title('x幅谱与相谱重建'); subplot(222);imshow(dctychanger,[]);title('y幅谱与相谱重建');
dctxchanger=dctxchange1.*cos(dctychange2)+dctxchange1.*sin(dctychange2).*i;
dctychanger=dctychange1.*cos(dctxchange2)+dctychange1.*sin(dctxch
ange2).*i;
dctxchanger1=uint8(abs(idct2(dctxchanger)));
dctychanger1=uint8(abs(idct2(dctychanger)));
subplot(223);imshow(dctxchanger1,[]);title('x幅谱与y相谱重建'); subplot(224);imshow(dctychanger1,[]);title('y幅谱与x相谱重建');
五、实验结果:
发布评论