图像显示与处理实验报告
数字图像处理实验报告
数字图像处理实验报告实验一数字图像处理编程基础一、实验目的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');N=imread('C:\Users\Administrator\Desktop\1.jpg')imshow(N);I=rgb2gary(GRB)[X.map]=gary2ind(N,2)RGB=ind2 rgb(X,map)[X.map]=gary2ind(I,2)I=ind2 gary(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);四、实验效果实验二 图像几何变换实验一、实验目的1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果;2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现;3.掌握matlab 编程环境中基本的图像处理函数。
图像处理实验报告
图像处理实验报告图像处理实验报告一、引言图像处理是计算机科学与工程领域的一个重要研究方向,它涉及到对数字图像进行获取、处理、分析和显示等一系列操作。
本实验旨在通过使用图像处理技术,对一幅给定的数字图像进行处理和分析,以探索图像处理的原理和应用。
二、实验目的本实验有以下几个目的:1. 理解图像处理的基本概念和原理;2. 掌握图像处理的常用技术和方法;3. 熟悉图像处理软件的使用。
三、实验步骤1. 图像获取在本实验中,我们选择了一张风景图作为实验对象。
该图像是通过数码相机拍摄得到的,保存在计算机中的文件格式为JPEG。
我们使用图像处理软件将该图像导入到程序中,以便进行后续的处理和分析。
2. 图像预处理在进行图像处理之前,我们需要对图像进行预处理。
预处理的目的是去除图像中的噪声、平滑图像的边缘等。
我们使用了均值滤波和中值滤波两种常用的图像平滑方法。
通过对比两种方法的效果,我们可以选择合适的方法来进行图像预处理。
3. 图像增强图像增强是指通过一系列的操作,使得图像在视觉上更加鲜明、清晰、易于观察。
在本实验中,我们使用了直方图均衡化和灰度拉伸两种图像增强方法。
直方图均衡化通过对图像的像素值进行变换,使得图像的直方图更加均匀,从而增强图像的对比度。
灰度拉伸则是通过对图像的像素值进行线性变换,将图像的灰度范围拉伸到更广的范围内,从而增强图像的细节。
4. 图像分割图像分割是将图像分成若干个互不重叠的区域,每个区域具有一定的意义和特征。
在本实验中,我们使用了阈值分割和边缘检测两种图像分割方法。
阈值分割是指通过设置一个合适的阈值,将图像中的像素分为两个类别。
边缘检测则是通过检测图像中的边缘信息,将图像分割为不同的区域。
5. 图像特征提取图像特征提取是指从图像中提取出具有一定意义和特征的信息。
在本实验中,我们选择了纹理特征和颜色特征两种常用的图像特征提取方法。
纹理特征提取通过对图像的纹理进行分析,提取出图像的纹理特征。
图像处理实验报告
图像处理实验报告实验⼀基于matlab 的⼈脸识别技术⼀、实验⽬的1.熟悉⼈脸识别的⼀般流程与常见识别⽅法;2.熟悉不同的特征提取⽅法在⼈脸识别的应⽤;3.了解在实际的⼈脸识别中,学习样本数等参数对识别率的影响;4.了解⾮⼈脸学习样本库的构建在⼈脸识别的重要作⽤。
使⽤MATLAB 平台编程,采⽤K-L 变换、特征提取及图像处理技术,实现⼈脸识别⼆、实验内容与实验仪器、设备1.构建⾮⼈脸学习样本库;2.观测不同的特征提取⽅法对⼈脸识别率的影响;3.观测不同的学习样本数对⼈脸识别率的影响;1. PC 机-系统最低配置 512M 内存、P4 CPU ;2. Matlab 仿真软件- 7.0 / 7.1 / 2006a 等版本的Matlab 软件。
3. CBCL ⼈脸样本库三、实验原理1.⼈脸特征提取的算法通过判别图像中所有可能区域是否属于“⼈脸模式”的⽅法来实现⼈脸检测。
这类⽅法有:特征脸法、⼈⼯神经⽹络法、⽀持向量机法;积分图像法。
本次使⽤的是PCA(主成分分析法)其原理是:利⽤K-L 变换抽取⼈脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到⼀组投影系数,通过与各个⼈脸图像⽐较进⾏识别。
对于⼀幅M*N 的⼈脸图像,将其每列相连构成⼀个⼤⼩为D=M*N 维的列向量。
D 就是⼈脸图像的维数,即是图像空间的维数。
设n 是训练样本的数⽬;X j 表⽰第j 幅⼈脸图像形成的⼈脸向量,则所需样本的协⽅差矩阵为:1()()m Ti i i S x u x u ==--∑ (1)其中U 为训练样本的平均图像向量:11mi i u x n ==∑ (2)令A=[x 1-u,x 2-u,...x n -u],则有S r =AA T ,其维数为D ×D 。
根据K-L 变换原理,需要求得的新坐标系由矩阵AA T 的⾮零特征值所对应的特征向量组成。
直接计算的计算量⽐较⼤,所以采⽤奇异值分解(SVD)定理,通过求解A T A 的特征值和特征向量来获得AA T 的特征值和特征向量。
数字图像处理实验一图像的基本操作和基本统计指标计算实验报告.doc
实验一图像的基本操作和基本统计指标计算一、实验目的熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。
对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。
了解计算图像的统计指标的方法及其在图像处理中的意义。
了解图像的几何操作,如改变图像大小、剪切、旋转等。
二、实验主要仪器设备(1)台式计算机或笔记本电脑(2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT))(3)典型的灰度、彩色图像文件三、实验原理(1)将一幅图像视为一个二维矩阵。
(2)利用MATLAB图像处理工具箱读、写和显示图像文件。
①调用imread函数将图像文件读入图像数组(矩阵)。
例如“I=imread(‘tire.tif’);”。
其基本格式为:“A=imread(‘filename.fmt’)”,其中,A为二维矩阵,filename.为文件名,fmt 为图像文件格式的扩展名。
②调用imwrite函数将图像矩阵写入图像文件。
例如“imwrite(A,’test_image.jpg’);”。
其基本格式为“imwrite(a,filename.fmt)”。
③调用imshow函数显示图像。
例如“imshow(‘tire.tif’);”。
其基本格式为:I为图像矩阵,N为显示的灰度级数,默认时为256。
(3)计算图像有关的统计参数。
四、实验内容(1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。
(2)利用MATLAB计算图像有关的统计参数。
五、实验步骤(1)利用“读图像文件I/O”函数读入图像Italy.jpg。
(2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion (格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType (彩色类型)、CodingMethod(编码方法)等。
数字图像处理实验报告
数字图像处理实验报告⼆○⼀⼋~⼆○⼀九学年第⼀学期信息科学与⼯程学院课程设计报告书课程名称:数字图像处理班级:学号:姓名:指导教师:⼆○⼀⼋年⼗⼆⽉⼀、课程设计⽬的:1. 掌握读、写、显⽰图像的基本⽅法。
2. 掌握图像直⽅图的概念、计算⽅法以及直⽅图归⼀化、均衡化⽅法。
3. 掌握图像灰度变换的基本⽅法,理解灰度变换对图像外观的改善效果。
⼆、课程设计内容及要求:1. 读⼊⼀幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。
2. 完成灰度图像的直⽅图计算、直⽅图归⼀化、直⽅图均衡化等操作。
3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(⼆值化)等,分别使⽤不同参数观察灰度变换效果(对灰度直⽅图的影响)。
三、详细设计步骤:1、所使⽤的图像⽂件都保存在Matlab 安装⽬\toolbox\images\imdemos⼦⽬录下。
2、图像的读、写、显⽰操作。
运⽤Matlab 图像处理⼯具箱中的imread函数分别读⼊灰度图像pout.tif、⼆值图像blobs.png 和RGB 图像peppers.png,观察相应的图像矩阵,并运⽤imshow 函数显⽰相应图像。
3、对⼀个RGB 彩⾊图像peppers.png,分别抽取其R、G、B 三个分量层,并显⽰各层图像。
1、以灰度图像pout.tif 为例,运⽤灰度变换法实现图像增强。
2、运⽤Matlab 编程实现灰度直⽅图的统计以及直⽅图均衡化处理过程:(1)计算并绘制原始图像的灰度直⽅图;(2)根据离散累计分布函数,对原始灰度直⽅图进⾏均衡化处理,绘制均衡化后的灰度直⽅图;(3)⽣成均衡化处理后的新图像,显⽰并保存。
(4)⽐较原始图像和新图像的对⽐度。
(1)利⽤Matlab 函数IMNOISE(),在原图上分别叠加⾼斯噪声和椒盐噪声(2)实现均值滤波和中值滤波的功能,去除噪声;(3)调整窗⼝⼤⼩,采⽤对⽐均值滤波中值滤波的性能;1、以灰度图像rice.png 为例,实现Roberts 算⼦、Sobel 算⼦、Prewitt算⼦对其进⾏边缘检测,并实现根据梯度⽣成 5 种不同的增强图像。
医学像处理与分析实验报告
医学像处理与分析实验报告实验目的:本实验旨在探究医学像处理与分析的方法和技术,分析其在医学领域中的应用和意义。
实验材料和设备:1. 医学像处理和分析软件2. 计算机3. 医学影像数据(如CT扫描、MRI图像等)4. 数据记录表格实验步骤:1. 数据准备收集实验所需医学影像数据,包括CT扫描、MRI图像等。
确保数据完整、清晰,并妥善保存。
2. 医学像处理使用医学像处理软件对所收集的影像数据进行处理。
处理包括但不限于以下步骤:- 图像增强:通过调整亮度、对比度等参数来改善图像质量和清晰度。
- 噪声去除:运用滤波器等技术降低或去除图像中的噪声。
- 图像重建:使用重建算法对三维医学影像数据进行处理,以生成更准确的图像。
3. 医学像分析利用医学像处理后的图像数据进行进一步的分析。
分析方法包括但不限于以下方面:- 区域测量:通过选择特定区域并测量其大小、体积等参数,来评估病变或器官的状态。
- 密度分布:通过绘制直方图、密度图等,分析图像中的密度分布情况,以便检测异常。
- 三维可视化:将三维医学影像数据进行重建和可视化,帮助医生更直观地观察和分析。
4. 数据分析和结果呈现根据医学像分析的结果,进行数据统计和分析。
将结果以图表、表格等形式呈现,清晰展示实验的结果和结论。
实验结果与讨论:经过医学像处理和分析,我们得到了一系列医学图像的处理结果和分析数据。
根据所获得的结果,我们可以得出以下结论:1. 医学像处理可以有效改善图像的质量和清晰度。
通过图像增强和噪声去除等技术,可以使医生在诊断时更准确地观察和判断。
2. 医学像分析可以提供更多有关病变或器官状态的信息。
通过区域测量、密度分布等方法,可以定量评估病变的大小、体积以及密度的异常情况。
3. 三维可视化技术可以使医生更直观地观察和分析医学影像数据。
通过重建和可视化,医生可以更清楚地了解病变的位置和形态,为治疗提供指导。
综上所述,医学像处理与分析在医学领域中具有重要的应用价值。
图像处理实验报告
大学新闻与传播学院实验教学中心实验报告实验名称图像处理指导教师洪杰文华滢年级08 学号23 成绩一、预习部分1、实验目的2、实验基本原理3、主要仪器设备(含必要的元器件、工具)1、实验目的:(1)熟悉和掌握数字图像的基本概念和技术指标,掌握色彩模式、图像分辨率、图像深度、图像文件格式与图像的显示效果、文件容量的关系。
(2)了解和掌握数字图像压缩的概念,观察不同的压缩比对图像的影响。
(3)了解和掌握图像中色彩的确定及选取方法,掌握前景色和背景色的概念及调整方法,掌握色彩填充的基本概念及应用。
(4)了解和掌握图像处理软件Photoshop的基本功能和基本使用方法,熟练掌握图层与选择区的基本使用方法。
(5)通过创造性的构图和对布局及色彩等的巧妙处理,一幅好的图画可以将一个主题以含蓄而又深刻的方式予以提示,并往往具有比单纯的语言文字更强的表现力。
在掌握图像处理基本概念和Photoshop基本使用方法的基础上,对已有的数字图像做一些基本的创意设计和编辑处理。
2、实验基本原理:基于photoshop软件的图像处理。
3、主要仪器设备(含必要的元器件、工具):Adobe Photoshop二、实验操作部分1、实验操作过程2、实验数据、观察到的实验现象1、实验操作过程:1.图像的基本变换(1)自选一幅不小于400×400pixel的彩色数字图像。
在Photoshop中打开该图像,记录其技术参数:文件格式、文件容量,图像尺寸(pixel和cm)、分辨率、色彩模式等。
文件格式:JPEG 图像;文件容量:59.7kb;图像尺寸(pixel和cm):600×600pixel;分辨率:72像素/英寸;色彩模式:RGB模式。
(2)对该图像重采样,要求采样后的图像分辨率为150dpi,图像尺寸为300×300pixel。
色彩模式分别变换成灰度、Indexed和RGB模式,按BMP格式分别保存成不同名称的图像文件;重新打开并观察变换后的显示效果,并记录各个文件的容量。
关于图形图像处理实训报告总结【九篇】
关于图形图像处理实训报告总结【九篇】实训报告总结:图形图像处理实训图形图像处理实训是计算机科学与技术专业的基础课程之一。
通过本次实训课程,我深入了解了图形图像处理的基本概念、方法和技术,并通过实际操作来提升了自己的实践能力。
下面是对本次实训的九篇报告总结:1. 实验一:图像读取与显示本次实验主要是学习如何读取和显示图像,以及使用Matplotlib库进行图像展示。
通过实验,我掌握了图像读取和显示的基本方法,并学会了基本的图像处理操作。
2. 实验二:图像的灰度变换实验二主要是学习图像的灰度变换,包括线性变换和非线性变换。
我学会了如何使用不同的灰度变换函数来调整图像的亮度和对比度,进一步提升图像的质量。
3. 实验三:图像的空间域滤波本次实验主要是学习图像的空间域滤波技术,包括均值滤波、中值滤波和高斯滤波等。
通过实验,我掌握了不同滤波方法的原理和实现方式,并学会了如何选择合适的滤波方法来降噪和模糊图像。
4. 实验四:图像的频域滤波实验四主要是学习图像的频域滤波技术,包括傅里叶变换和频域滤波等。
通过实验,我了解了傅里叶变换的原理和应用,并学会了如何使用频域滤波来实现图像的锐化和平滑。
5. 实验五:图像的形态学处理本次实验主要是学习图像的形态学处理技术,包括腐蚀、膨胀、开运算和闭运算等。
通过实验,我学会了如何使用形态学操作来改变图像的形状和结构,进一步改善图像的质量。
6. 实验六:图像的边缘检测实验六主要是学习图像的边缘检测技术,包括Sobel算子、Laplacian算子和Canny算子等。
通过实验,我了解了不同边缘检测方法的原理和应用,并学会了如何使用边缘检测来提取图像的轮廓和特征。
7. 实验七:图像的分割与聚类本次实验主要是学习图像的分割与聚类技术,包括阈值分割、区域生长和K均值聚类等。
通过实验,我掌握了不同分割与聚类方法的原理和应用,并学会了如何使用分割与聚类来识别和分析图像中的目标和区域。
8. 实验八:图像的特征提取与描述子实验八主要是学习图像的特征提取和描述子技术,包括尺度不变特征变换(SIFT)和方向梯度直方图(HOG)等。
数字图像处理实验
数字图像处理实验实验总学时:10学时实验目的:本实验的目的是通过实验进一步理解和掌握数字图像处理原理和方法。
通过分析、实现现有的图像处理算法,学习和掌握常用的图像处理技术。
实验内容:数字图像处理的实验内容主要有三个方面:(1) 对图像灰度作某种变换,增强其中的有用信息,抑制无用信息,使图像的视在质量提高,以便于人眼观察、理解或用计算机对其作进一步的处理。
(2) 用某种特殊手段提取、描述和分析图像中所包含的某些特征和特殊的信息,主要的目的是便于计算机对图像作进一步的分析和理解,经常作为模式识别和计算机视觉的预处理。
这些特征包括很多方面,例如,图像的频域特性、灰度特征、边界特征等。
(3) 图像的变换,以便于图像的频域处理。
实验一图像的点处理实验内容及实验原理:1、灰度的线性变换灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换。
该线性灰度变换函数是一个一维线性函数:灰度变换方程为:其中参数为线性函数的斜率,函数的在y轴的截距,表示输入图像的灰度,表示输出图像的灰度。
要求:输入一幅图像,根据输入的斜率和截距进行线性变换,并显示。
2、灰度拉伸灰度拉伸和灰度线性变换相似。
不同之处在于它是分段线性变换。
表达如下:其中,(x1,y1)和(x2,y2)是分段函数的转折点。
要求:输入一幅图像,根据选择的转折点,进行灰度拉伸,显示变换后的图像。
3、灰度直方图灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(象素的个数)。
要求:输入一幅图像,显示它的灰度直方图,可以根据输入的参数(上限、下限)显示特定范围的灰度直方图。
4、直方图均衡:要求1 显示一幅图像pout.bmp的直方图;2 用直方图均衡对图像pout.bmp进行增强;3 显示增强后的图像。
实验二:数字图像的平滑实验内容及实验原理:1.用均值滤波器(即邻域平均法)去除图像中的噪声;2.用中值滤波器去除图像中的噪声3. 比较两种方法的处理结果 实验步骤:用原始图象lena.bmp 或cameraman.bmp 加产生的3%椒盐噪声图象合成一幅有噪声的图象并显示;1. 用均值滤波器去除图像中的噪声(选3x3窗口);2. f (x 0,y 0)=Med {f (x,y )∨x ∈[x 0−N,x 0+N ],y ∈[y 0−N,y 0+N ]}用中值滤波器去除图像中的噪声(选3x3窗口做中值滤波);3. 将两种处理方法的结果与原图比较,注意两种处理方法对边缘的影响。
数字图像处理 实验报告(完整版)
数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。
7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
计算机图形学实验报告
计算机图形学实验报告引言计算机图形学是计算机科学中一个重要的研究领域,它涉及了计算机图像的生成、处理和显示等方面的技术。
本次实验旨在通过实际操作学习计算机图形学的相关知识,并利用图形学算法实现一些有趣的效果。
实验目的1. 了解计算机图形学的基本概念和发展历程;2. 掌握图形学中的基本几何变换,如平移、旋转和缩放等;3. 实现一些常见的图形学算法,如光照模型、三角形剪裁和绘制等。
实验准备在开始实验之前,我们需要准备一些实验所需的工具和环境。
首先,确保计算机上安装了图形学相关的软件,如OpenGL或DirectX等。
其次,为了编写和运行图形学程序,我们需要掌握基本的编程技巧,如C++或Python语言,并了解相关的图形库和API。
实验过程1. 实现平移、旋转和缩放首先,我们需要掌握图形学中的基本几何变换,如平移、旋转和缩放。
通过矩阵运算,我们可以很方便地实现这些变换。
例如,对于一个二维点P(x, y),我们可以通过以下公式实现平移:P' = T * P其中,P'是平移后的点,T是平移矩阵。
类似地,我们可以用旋转矩阵和缩放矩阵来实现旋转和缩放效果。
2. 实现光照模型光照模型是指在计算机图形学中模拟现实光照效果的一种方法。
它可以提供更真实的视觉效果,让计算机生成的图像更加逼真。
其中,常用的光照模型有环境光照、漫反射光照和镜面光照等。
通过计算每个像素的光照强度,我们可以实现阴影效果和光源反射等功能。
3. 实现三角形剪裁三角形剪裁是计算机图形学中一种常用的几何算法,用于确定哪些像素需要绘制,哪些像素需要剔除。
通过对三角形的边界和视口进行比较,我们可以快速计算出剪裁后的三角形顶点,以提高图形渲染的效率。
4. 实现图形绘制图形绘制是计算机图形学中的核心内容,它包括了点、线和面的绘制等。
通过设定顶点坐标和属性(如颜色、纹理等),我们可以使用算法绘制出各种形状的图像。
其中,常用的绘制算法有Bresenham算法和扫描线算法等。
数字图像处理 实验报告(完整版).doc
数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。
7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
matlab图像处理实验报告
matlab图像处理实验报告Matlab图像处理实验报告引言:图像处理是一门研究如何对图像进行获取、存储、传输、处理和显示的学科。
而Matlab作为一种强大的科学计算软件,被广泛应用于图像处理领域。
本实验报告旨在介绍Matlab在图像处理中的应用。
一、图像获取与显示在图像处理的第一步,我们需要获取图像并进行显示。
Matlab提供了丰富的函数和工具箱来实现这一目标。
我们可以使用imread函数来读取图像文件,imwrite函数来保存图像文件。
而imshow函数则可以用于图像的显示。
通过使用这些函数,我们可以轻松地加载图像文件,并在Matlab中显示出来。
二、图像的基本操作在图像处理中,我们经常需要对图像进行一些基本的操作,如图像的缩放、旋转、裁剪等。
Matlab提供了一系列的函数来实现这些操作。
通过imresize函数,我们可以实现图像的缩放操作。
而imrotate函数则可以用于图像的旋转。
此外,imcrop函数可以用于图像的裁剪。
三、图像的滤波处理图像的滤波处理是图像处理中的重要内容之一。
Matlab提供了多种滤波函数,如均值滤波、中值滤波、高斯滤波等。
这些滤波函数可以用于图像的平滑处理和噪声的去除。
通过调用这些函数,我们可以有效地改善图像的质量。
四、图像的边缘检测边缘检测是图像处理中的一项重要任务,它可以用于提取图像中的边缘信息。
在Matlab中,我们可以使用多种边缘检测算法来实现这一目标,如Sobel算子、Prewitt算子、Canny算子等。
这些算子可以有效地提取图像中的边缘,并将其显示出来。
五、图像的特征提取图像的特征提取是图像处理中的关键步骤之一,它可以用于提取图像中的重要特征。
在Matlab中,我们可以使用各种特征提取算法来实现这一目标,如颜色直方图、纹理特征、形状特征等。
通过提取这些特征,我们可以对图像进行分类、识别等任务。
六、图像的分割与识别图像的分割与识别是图像处理中的热门研究方向之一。
医学图像处理实验报告
医学图像处理实验报告班级专业生物医学工程姓名学号实验一用Vc++实现DDB和DIB位图的显示一、实验目的(1)了解VC++在医学图像处理中的应用。
(2)熟悉用VC++进行DDB和DIB位图显示的编程方法。
二、实验设备微机。
三、实验内容(1)应用VC++进行DDB和DIB位图显示。
四、实验步骤1.开启VC++6.0, 在菜单中选中File单击鼠标左键, 在下拉菜单中选中New 单击鼠标左键, 在打开的对话框中, 根据MFC Appward向导创建可执行的应用程序ShowBmp。
2.在程序中插入位图资源, 并添加代码实现位图的显示。
3.在程序中插入Dib类, 并添加相应的代码。
4、编程完毕, 调试和运行程序, 运行无误后, 显示DDB和DIB位图并拷贝所得图像。
5、整理所得图像, 对实验结果进行分析。
五、实验结果和分析(a)ShowDIB位图(b)ShowDDB位图六、思考题1.DDB和DIB位图的显示有什么不同?设备相关位图DDB依赖于具体设备, 加入了程序资源, 一般以资源文件的形式存储;设备无关位图DIB不依赖于具体设备, 没有任何程序资源, 可以永久性的存放在电脑硬盘里, 可任意打开硬盘上一幅位图。
医学图像处理实验报告班级 专业 生物医学工程 姓名 学号实验二 用Vc++实现医学图像的线性灰度变换一、实验目的(1)了解VC++在医学图像处理中的应用。
(2)熟悉用VC++进行医学图像线性灰度变换的编程方法。
二、实验设备微机。
三、实验内容(1)应用VC++进行医学图像的线性灰度变换。
四、实验步骤1.开启VC++6.0, 在菜单中选中File 单击鼠标左键, 在下拉菜单中选中Open Workspce 单击鼠标左键, 在打开的对话框中, 根据路径: D:\WorkSpace\MedicalImageProcessingDLL\MedicalImageProcessingDLL.dsw 打开工作空间。
西安邮电大学图像处理技术实验报告
西安邮电大学通信与信息工程学院《图像处理技术》课内实验报告(2016/ 2017 学年 第 1学期)学生姓名:专业班级:学 号:指导教师:——————————————————————————装订线————————————————————————————————过程考核表成绩鉴定表实验1:Matlab图像处理基础实验 (1)一、实验目的 (1)二、实验原理 (1)三、实验内容(调试好的程序,实验结果及分析) (2)实验2:图像空间坐标变换实验 (5)一、实验目的 (5)二、实验原理 (5)三、实验内容(调试好的程序,实验结果及分析) (6)实验3:直方图均衡化图像增强实验 (9)一、实验目的 (9)二、实验原理 (9)三、实验内容(调试好的程序,实验结果及分析) (10)实验4:空域滤波图像增强实验 (14)一、实验目的 (14)二、实验原理 (14)三、实验内容(调试好的程序,实验结果及分析) (14)实验5:彩色图像增强实验 (19)一、实验目的 (19)二、实验原理 (19)三、实验内容(调试好的程序,实验结果及分析) (20)实验6:图像变换及频谱分析实验 (25)一、实验目的 (25)二、实验原理 (25)三、实验内容(调试好的程序,实验结果及分析) (26)实验7:图像低通与高通滤波实验. (31)一、实验目的 (31)二、实验原理 (31)三、实验内容(调试好的程序,实验结果及分析) (31)实验8:交互消噪及光照校正实验 (38)一、实验目的 (38)二、实验原理 (38)三、实验内容(调试好的程序,实验结果及分析) (38)实验总结及心得体会 (42)指导教师评语: (43)实验1:Matlab图像处理基础实验一、实验目的1. 掌握Matlab 图像文件的打开与显示等基本方法;2. 掌握图像数据类型转换及图像类型转换;3. 熟悉图像矩阵的基本操作。
二、实验原理1. MATLAB 中图像数据的读写及显示:imread、imshow(1)imread:imread函数用于读入各种图像文件,其一般的用法为语法:[X,MAP]=imread(‘filename’,‘fmt’)其中,X,MAP分别为读出的图像数据和颜色表数据,fmt为图像的格式,filename 为读取的图像文件(可以加上文件的路径)。
dsp图像处理实验报告
dsp图像处理实验报告DSP图像处理实验报告一、引言数字信号处理(DSP)是一种用于处理数字信号的技术,广泛应用于各个领域。
图像处理是DSP的一个重要应用,通过对图像进行数字化处理,可以实现图像增强、边缘检测、目标识别等功能。
本实验旨在通过DSP技术对图像进行处理,探索图像处理算法的实际应用。
二、实验目的1. 了解数字信号处理在图像处理中的应用;2. 掌握DSP平台的基本操作和图像处理算法的实现;3. 进一步熟悉MATLAB软件的使用。
三、实验环境和工具本实验使用的DSP平台为TMS320C6713,开发环境为Code Composer Studio (CCS)。
图像处理算法的实现主要依赖于MATLAB软件。
四、实验步骤1. 图像采集与预处理首先,通过CCD摄像头采集一张待处理的图像,并将其转化为数字信号。
然后,对图像进行预处理,包括去噪、灰度化等操作,以提高后续处理的效果。
2. 图像增强图像增强是指通过一系列算法和技术,提高图像的质量、清晰度和对比度。
在本实验中,我们采用了直方图均衡化算法对图像进行增强。
该算法通过对图像像素值的统计分析,调整像素值的分布,使得图像的对比度更加明显,细节更加突出。
3. 边缘检测边缘检测是图像处理的重要环节,可以用于目标识别、图像分割等应用。
在本实验中,我们采用了Canny算法进行边缘检测。
Canny算法是一种经典的边缘检测算法,通过对图像进行多次滤波和梯度计算,得到图像的边缘信息。
4. 目标识别目标识别是图像处理中的关键任务之一,可以应用于人脸识别、车牌识别等领域。
在本实验中,我们以人脸识别为例,使用了Haar特征分类器进行目标识别。
Haar特征分类器是一种基于图像特征的分类器,通过对图像进行特征提取和分类器训练,可以实现对目标的快速准确识别。
五、实验结果与分析通过对图像进行处理,我们得到了增强后的图像、边缘检测结果和目标识别结果。
经过对比分析,我们发现图像增强算法能够有效提高图像的对比度和清晰度,使得图像更加易于观察和分析。
图像处理实验报告
图像处理实验报告第一次实验课:绘制直方图f=imread('bld.tif');imshow(f)imhist(f)原图像:直方图:第二次实验课:图像增强f=imread('hua.jpg');imshow(f)g=gscale(f);figure,imshow(g)原图像:处理后的图像:第三次实验课:图像平滑f=imread('noisy.jpg');imshow(f)f1=imnoise(f,'salt & pepper',0.1);figure,imshow(f1)f2=medfilt2(f1);figure,imshow(f2)imwrite(f2,'w.tif')原图像:加噪声后的图像:平滑后的图像:第四次实验课:图像分割f=imread('bld.tif');imshow(f)[gc,t]=edge(f,'canny');figure,imshow(gc)tt =0.0188 0.0469[gc,t]=edge(f,'canny',[0.04 0.10]); figure,imshow(gc)[gc,t]=edge(f,'canny',[0.04 0.10],1.5); figure,imshow(gc)原图像:线检测后得到如下图像:第五次实验课:彩色图像处理f=imread('iris.tif');imshow(b)fr=f(:,:,1);fg=f(:,:,2);fb=f(:,:,3);w=fspecial('disk',3.5);fr_f=imfilter(fr,w,'replicate');fg_f=imfilter(fg,w,'replicate');fb_f=imfilter(fb,w,'replicate');f1=cat(3,fr_f,fg_f,fb_f);原图像:处理后图片为:第六次实验课:形态学处理f=imread('calculator.tif');imshow(f)se=strel('line',55,0);f0=imopen(f,se);f1=imsubtract(f,f0);figure,imshow(f1)原图像:处理后图像:第七次实验课:频域处理f=imread('periodic.jpg');[m,n]=size(f)sig=30;h=lpfilter('gaussian',m,n,sig);F=fft2(double(f));G=h.*F;figure,imshow(abs(G),[])x=real(ifft2(G));figure,imshow(x,[])原图像:处理后图像:f=imread('noise.jpg'); imshow(f)g=fft2(f);s=abs(g);figure,imshow(double(s))figure,imshow(double(s),[])h=fftshift(g);figure,imshow(double(abs(g)),[]) figure,imshow(double(abs(h)),[]) ss=log(1+s);figure,imshow(double(ss),[])原图像:处理后图像:。
matlab 图像 实验报告
matlab 图像实验报告Matlab图像实验报告引言:Matlab是一种强大的计算机编程语言和开发环境,广泛应用于科学计算、数据分析和图像处理等领域。
本实验报告旨在介绍基于Matlab的图像处理实验,包括图像读取、图像处理和图像显示等方面的内容。
一、图像读取图像读取是图像处理的第一步,通过读取图像可以获取图像的像素信息。
在Matlab中,可以使用imread函数来读取图像文件。
例如,通过以下代码可以读取一张名为"image.jpg"的图像:```matlabimage = imread('image.jpg');```二、图像处理1. 灰度化处理灰度化处理是将彩色图像转换为灰度图像的过程。
在Matlab中,可以使用rgb2gray函数来实现灰度化处理。
以下是一个简单的示例:```matlabgray_image = rgb2gray(image);```2. 图像增强图像增强是通过一系列的处理方法来改善图像的质量和视觉效果。
在Matlab中,有多种图像增强方法可供选择,如直方图均衡化、滤波和边缘检测等。
以下是一个直方图均衡化的示例:```matlabenhanced_image = histeq(gray_image);```3. 图像分割图像分割是将图像划分为若干个区域的过程,每个区域具有相似的特征。
在Matlab中,可以使用各种图像分割算法,如阈值分割和基于区域的分割。
以下是一个简单的阈值分割示例:```matlabthreshold = graythresh(enhanced_image);binary_image = imbinarize(enhanced_image, threshold);```三、图像显示图像显示是将处理后的图像展示给用户的过程。
在Matlab中,可以使用imshow函数来显示图像。
以下是一个简单的示例:```matlabimshow(binary_image);```四、实验结果与讨论本次实验中,我们选择了一张名为"image.jpg"的彩色图像进行处理。
数字图像处理实验报告
目录实验一:数字图像的基本处理操作 (2)1。
1:实验目的 (2)1。
2:实验任务和要求 (2)1.3:实验步骤和结果 (2)1。
4:结果分析 (6)实验二:图像的灰度变换和直方图变换 (7)2.1:实验目的 (7)2.2:实验任务和要求 (7)2。
3:实验步骤和结果 (7)2。
4:结果分析 (11)实验三:图像的平滑处理 (12)3.1:实验目的 (12)3。
2:实验任务和要求 (12)3。
3:实验步骤和结果 (12)3。
4:结果分析 (16)实验四:图像的锐化处理 (17)4.1:实验目的 (17)4.2:实验任务和要求 (17)4。
3:实验步骤和结果 (17)4.4:结果分析 (19)实验一:数字图像的基本处理操作1.1:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
1。
2:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题.3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
1.3:实验步骤和结果1.对实验任务1的实现代码如下:a=imread(’d:\tp.jpg’);i=rgb2gray(a);I=im2bw(a,0。
5);subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title(’灰度图像’);subplot(1,3,3);imshow(I);title('二值图像’);subplot(1,3,1);imshow(a);title('原图像');结果如图1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像显示与处理实验报告
班级:信息123班
姓名:杨阳
学号: 201227073
图像显示与处理
一、实验目的
1、掌握BMP文件格式,熟悉各参数和图像数据的存放方式;
2、通过编程实现对图像内容的读取(到内存中);
3、完成图像的显示,掌握设备环境上下文(DC)的使用方式。
4、对图像进行二值化、求边缘、增强等简单处理。
二、实验仪器设备、工具及材料
设备:多媒体计算机。
软件:Visual Studio 6.0及以上版本。
材料:灰度图像,24位真彩色图像(均为非压缩BMP格式)等。
三、实验内容及步骤
1、BMP文件格式
BMP是Bitmap(位图)的简写,是Windows操作系统中的标准图像文件格式。
Windows 3.0以前的BMP图文件格式与显示设备有关,称为设备相关位图DDB文件格式。
Windows 3.0以后的BMP图象文件与显示设备无关,因此称为设备无关位图DIB(device-independent bitmap)格式。
BMP文件由4部分组成:位图文件头(BITMAPFILEHEADER)、位图信息头(BITMAPINFOHEADER)、彩色表(RGBQUAD)和图像数据阵列。
对应的数据结构定义如下(来自MSDN)。
typedef struct tagBITMAPFILEHEADER {
WORD bfType; // file type, must be BM
DWORD bfSize; // size (bytes) of the bitmap file
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits; // offset (bytes) from this structure to the bitmap bits
} BITMAPFILEHEADER;
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO, *PBITMAPINFO;
typedef struct tagRGBQUAD {
BYTE rgbBlue; BYTE rgbGreen;
BYTE rgbRed; BYTE rgbReserved;
} RGBQUAD;
typedef struct tagBITMAPINFOHEADER
{
DWORD biSize; // bytes required by the structure
LONG biWidth; LONG biHeight;
WORD biPlanes; // number of planes, must be 1
WORD biBitCount; // number of bits-per-pixel
DWORD biCompression; // BI_RGB: uncompressed
DWORD biSizeImage; // size(bytes) of image, set to 0 for BI_RGB
bitmaps
LONG biXPelsPerMeter; // horizontal resolution
LONG biYPelsPerMeter; // vertical resolution
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
自然界所有颜色都可由红、绿、蓝(R,G,B)组合而成。
R/G/B各自分成256级,这种分级概念称为量化,这样就能表示256×256×256约1600万种颜色,这对于人眼来说已经足够丰富了。
对于颜色数远远少于1600万种的彩色图,可以用一个表:表中的每一行记录一种颜色的R、G、B值。
这样当我们表示一个象素的颜色时,只需要指出该颜色是在第几行,即该颜色在表中的索引值。
这张R、G、B的表,就是我们常说的调色板(Palette),另一种叫法是颜色查找表LUT(Look Up Table)。
用R、G、B颜色表示所有的颜色叫做真彩色图(true color)。
表示真彩色图时,每个象素直接用R、G、B三个分量字节表示,而不采用调色板技术。
真彩色图又叫做24位色图。
在Windows下,RGB颜色阵列存储的格式其实BGR。
而32位的RGB位图像素数据格式是:蓝色B值、绿色G值、红色R值、透明通道A值。
透明通道也称Alpha通道,该值是该像素点的透明属性,取值在0(全透明)到255(不透明)之间。
2、BMP文件加载
加载文件的目的是要得到图片属性及RGB数据,以便将其绘制在DC上。
首先,加载文件头:
BITMAPFILEHEADER header;
file.read((char*)&header,sizeof(header));
然后,加载位图信息头:
BITMAPINFOHEADER infoheader;
file.read((char*)&infoheader,sizeof(infoheader));
这里我们得到了3各重要的图形属性:宽,高,以及每个像素颜色所占用的位数。
接着,要考虑行对齐:
由于Windows在进行行扫描的时候最小的单位为4个字节,所以当图片宽width乘以每个像素的字节数不是4的整数倍时,要在每行的后面补0。
需要通过下面的方法计算正确的数据长度:
m_dwBytesPerLine = (((m_pBmpInfoHead->biWidth) + 3) >> 2) << 2; // 灰度
m_dwBytesPerLine = (((m_pBmpInfoHead->biWidth*3) + 3) >> 2) << 2; // 24位真彩
m_iImageDataSize = m_dwBytesPerLine * m_pBmpInfoHead->biHeight;
最后,加载图片数据:
对于24位和32位的位图文件,位图数据的偏移量为
sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER)
也就是说现在可以直接读取图像数据了。
m_pImageData = new unsigned char[m_iImageDataSize];
file.read((char*) m_pPixelData, m_iImageDataSize );
如果你足够细心,就会发现内存m_pPixelData里的数据的确是BGR格式,可以用个纯蓝色或者是纯红色的图片测试一下。
3、BMP文件显示
下面是一段GDI绘制代码(一般可在OnDraw函数中实现),仅作参考。
对于有调色板的图像:
CPalette * pOldPal = pDC->SelectPalette( m_pPal, 1 );
::SetStretchBltMode( pDC->m_hDC, COLORONCOLOR );
::SetDIBitsToDevice( pDC->m_hDC, 0, 0, m_pBmpInfoHead->biWidth,
m_pBmpInfoHead->biHeight, 0, 0, 0, m_pBmpInfoHead->biHeight,
m_pPixelData, (LPBITMAPINFO)m_pBmpInfoHead, DIB_RGB_COLORS );
pDC->SelectPalette( pOldPal, 1 );
如果没有调色板:
::SetStretchBltMode( pDC->m_hDC, COLORONCOLOR );
::SetDIBitsToDevice( pDC->m_hDC, 0, 0, m_pBmpInfoHead->biWidth,
m_pBmpInfoHead->biHeight, 0, 0, 0, m_pBmpInfoHead->biHeight,
m_pPixelData, (LPBITMAPINFO)m_pBmpInfoHead, DIB_RGB_COLORS );
4、图像处理
此处,我们仅对灰度图像进行简单的处理,可以在二值化、求边缘和图像增强之中选择一到两个进行尝试。
二值化:
设定一个阈值(比如128),逐一检查每个像素的值,大于等于这个值的像素被设为255,小于这个阈值的像素被设为0。
就会出现一个二值化的结果。
求边缘:
简单的求边缘算法是对图像中每个像素(最边缘的像素可不考虑)进行二维卷积运算,可以采用Sobel算子进行尝试。
Sobel算子有两个,分别可以计算水平方向和垂直方向的边
-101
-20(中心)2
-101
图像像素灰度一般会集中在某个区域,导致视觉分辨率低下。
为此,可以考虑对该段区域进行拉伸。
比如,按照如下曲线(或折线)的映射关系,类似于非均匀采样,将某段的量化精度提高。
实验截图:
-1-2-1
00(中心)0
121
.。