多媒体技术实验3图像显示与处理

多媒体技术实验3图像显示与处理
多媒体技术实验3图像显示与处理

多媒体实验3--数字图像处理

实验三图像显示与处理(2学时)

一、实验目的

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 T able)。

用R、G、B颜色表示所有的颜色叫做真彩色图(true color)。表示真彩色图时,每个象素直接用R、G、B三个分量字节表示,而不采用调色板技术。真彩色图又叫做24位色图。在Windows下,RGB颜色阵列存储的格式其实BGR。而32位的RGB位图像素数据格式是:蓝色B值、绿色G值、红色R值、透明通道A值。透明通道也称Alpha通道,该值是该像素点的透明属性,取值在0(全透明)到255(不透明)之间。

Step 1.1

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格式,可以用个纯蓝色或者是纯红色的图片测试一下。

Step 1.2

3、BMP文件显示

下面是一段GDI绘制代码(一般可在OnDraw函数中实现),仅作参考。

对于有调色板的图像:

CPalette * pOldPal = pDC->SelectPalette( m_pPal, 1 );

::SetStretchBltMode( pDC->m_hDC, COLORONCOLOR );

::SetDIBitsT oDevice( 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 );

::SetDIBitsT oDevice( 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 );

更多关于BMP文件的细节,请参考:baike.baidu./view/189487.htm。

4、图像处理

此处,我们仅对灰度图像进行简单的处理,可以在二值化、求边缘和图像增强之中选择一到两个进行尝试。

二值化:

设定一个阈值(比如128),逐一检查每个像素的值,大于等于这个值的像素被设为255,小于这个阈值的像素被设为0。就会出现一个二值化的结果。

Step 1.3

求边缘:

简单的求边缘算法是对图像中每个像素(最边缘的像素可不考虑)进行二维卷积运算,可以采用Sobel算子进行尝试。Sobel算子有两个,分别可以计算水平方向和垂直方向的边

-1 0 1

-2 0(中心) 2

-1 0 1

图像像素灰度一般会集中在某个区域,导致视觉分辨率低下。为此,可以考虑对该段区域进行拉伸。比如,按照如下曲线(或折线)的映射关系,类似于非均匀采样,将某段的量化精度提高。

四、实验容和步骤

1、实现对BMP文件的读取,至少要实现8位、24位两种情况。

-1 -2 -1

0 0(中心)0

1 2 1

2、实现图像的显示,至少要实现8位、24位两种情况。

3、对于8位灰度图像,进行简单的图像处理,得到对应的结果。实验结果

五、思考题

数字图像处理实验1

实验一 实验内容和步骤 练习图像的读取、显示和保存图像数据,步骤如下: (1)使用命令figure(1)开辟一个显示窗口 (2)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内显示、二值图像和灰度图像,注上文字标题。 (3)保存转换后的灰度图像和二值图像 (4)在同一个窗口显示转换后的灰度图像的直方图 I=imread('BaboonRGB.bmp'); figure,imshow(I); I_gray=rgb2gray(I); figure,imshow(I_gray); I_2bw=Im2bw(I_gray); figure,imshow(I_2bw); subplot(1,3,1),imshow(I),title('RGB图像'); subplot(1,3,2),imshow(I_gray),title('灰度图像'); subplot(1,3,3),imshow(I_2bw),title('二值图像'); imwrite(I_gray,'Baboongray.png'); imwrite(I_2bw,'Baboon2bw.tif'); figure;imhist(I_gray);

RGB 图 像灰度图 像二值图 像 050100150200250 500 1000 1500 2000 2500 3000

(5)将原RGB 图像的R 、G 、B 三个分量图像显示在figure(2)中,观察对比它们的特点,体会不同颜色所对应的R 、G 、B 分量的不同之处。 [A_RGB,MAP]=imread('BaboonRGB.bmp'); subplot(2,2,1),imshow(A_RGB),title('RGB'); subplot(2,2,2),imshow(A_RGB(:,:,1)),title('R'); subplot(2,2,3),imshow(A_RGB(:,:,2)),title('G'); subplot(2,2,4),imshow(A_RGB(:,:,3)),title('B'); (6)将图像放大1.5倍,插值方法使用三种不同方法,在figure(3)中显示放大后的图像,比较不同插值方法的结果有什么不同。将图像放大到其它倍数,重复实验;A=imread('BaboonRGB.bmp'); figure(3),imshow(A),title('原图像'); B=imresize(A,1.5,'nearest'); figure(4),imshow(B),title('最邻近法') C=imresize(A,1.5,'bilinear'); ; figure(5),imshow(C),title('双线性插值'); D=imresize(A,1.5,'bicubic'); figure(6),imshow(D),title('双三次插值 '); RGB R G B

医学图像处理实验报告

医学图像处理实验报告 班级专业姓名学号 实验名称:图像增强 一、实验目的 1:理解并掌握常用的图像的增强技术。 2:熟悉并掌握MA TLAB图像处理工具箱的使用。 3:实践几种常用数字图像增强的方法,增强自主动手能力。 二、实验任务 对于每张图像(共三张图片),实现3种图像增强方法。根据图像的特点,分别选用不用的图像增强算法。 三、实验内容(设计思路) 1、artery_vessel (1)直方图均衡化 直方图是图像的最基本的统计特征,它反映的是图像的灰度值的分布情况。直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。灰度直方图是图像预处理中涉及最广泛的基本概念之一。 图像的直方图事实上就是图像的亮度分布的概率密度函数,是一幅图像的所有象素集合的最基本的统计规律。直方图反映了图像的明暗分布规律,可以通过图像变换进行直方图调整,获得较好的视觉效果。 直方图均衡化是指:采用累积分布函数(CDF)变化生成一幅图像,该图像的灰度级较为均衡化,且覆盖了整个范围[0,1],均衡化处理的结果是一幅扩展了动态范围的图像。直方图均衡化就是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。主要用途是:将一幅灰度分布集中在较窄区间,细节不够清晰的图像,修正后使图像的灰度间距增大或灰度分布均匀,令图像的细节清晰,达到图像增强的目的。 (2)中值滤波加直方图均衡化 中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。 中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,

数字图像处理实验指导书-河北工业大学2014实验一

数字图像处理 实验指导书 河北工业大学 计算机科学与软件学院

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像类型转换。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化称为采样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。

图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: 亮度图像(Intensity images) 二值图像(Binary images) 索引图像(Indexed images) RGB图像(RGB images) (1) 亮度图像 一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。若图像是double类,则像素取值就是浮点数。规定双精度型归一化亮度图像的取值范围是[0,1] (2) 二值图像 一幅二值图像是一个取值只有0和1的逻辑数组。 (3) 索引图像 索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像最多只能显示256种颜色。 一幅索引颜色图像在图像文件里定义,当打开该文件时,构成该图像具体颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。(4) RGB图像 一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色相

数学图像处理·实验三

一实验目的 1.了解图像变换的意义和手段; 2.熟悉傅立叶变换的基本性质; 3.熟练掌握FFT变换方法及应用; 4.通过实验了解二维频谱的分布特点; 5.通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。 6.评价人眼对图像幅频特性和相频特性的敏感度。 二实验要求 (一)请按以下操作步骤完成实验内容: 1.将图像内容读入内存; 2.用Fourier变换算法,对图像作二维Fourier变换; 3.将其幅度谱进行搬移,在图像中心显示; 4.用Fourier系数的幅度进行Fourier反变换; 5.用Fourier系数的相位进行Fourier反变换; 6.将原图像分别旋转45度和90度后重复步骤2-5 7.比较4、5的结果,评价人眼对图像幅频特性和相频特性的敏感度。 8.记录和整理实验报告。 (二)实验拓展 独立完成以下实验:创建一副图像,大小为 128*128,背景为黑色,中间开出一个 8×8 白色的窗口;运用 ff2 函数,对上面产生的图像做二维离散傅立叶变换。将图像旋转45度后重复一次实验。(此附加操作不用另写实验报告只把操作原始图和频谱图粘贴到上面实验报告的最后面就可以。) (三)完成后请整理实验报告,实验报告要求如下: 在实验报告中写出实验目的实验原理,描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果和源代码,并进行必要的讨论,必须包括原始图像及其计算/处理后的图像。 三实验器材

1.计算机(windows10); 2.MATLAB 程序; 3.移动式存储器 4.记录用的笔、纸。 四 实验原理 1 应用傅立叶变换进行图像处理 傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。 2 傅立叶(Fourier )变换的定义 对于二维信号,二维Fourier 变换定义为: 2()(,)(,)j ux uy F u v f x y e dxdy π∞∞ ?+?∞?∞= ?? 逆变换: 2()(,)(,)j ux uy f x y F u v e dudv π∞∞ +?∞?∞= ?? 二维离散傅立叶变换为: 11 2()00 1(,)(,)i k N N j m n N N i k F m n f i k e N π???+===∑∑ 逆变换: 112()001(,)(,)i k N N j m n N N m n f i k F m n e N π??+===∑∑ 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。 五 实验步骤 1.下载实验图片,利用PS 将所下载图片格式转为tif ; 2.利用imread ()函数读入原图像.tif 格式;

数字图像处理实验指导书

实验一 Matlab图像处理工具箱的初步练习 一、实验目的和任务 1、初步了解与掌握MA TLAB语言的基本用法; 2、掌握MA TLAB语言中图象数据与信息的读取方法; 3、掌握在MA TLAB语言中图像类型的转换。 二、实验仪器、设备及材料 1、计算机 2、MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox) 3、实验所需要的图片 三、实验原理 将数字图像的RGB表示转换为YUV表示; Y=0.30R+0.59G+0.11B U=0.70R-0.59G-0.11B V=-0.30R-0.59G+0.89B 四、实验步骤 1、阅读资料并熟悉MatLab的基本操作 2、读取MATLAB中的图象数据 3、显示MATLAB中的图象文件。用MATLAB在自建的文件夹中建立m文件,在这个文件的程序中,将MA TLAB目录下work文件夹中的tree.tif 图象文件读出,用到imread,imfinfo等命令,观察一下图象数据,了解一下数字图象在MA TLAB中的处理就是处理一个矩阵的本质。 4、将3中的图象显示出来(用imshow)。 5、对MA TLAB目录下work文件夹中的flowers.tif进行真彩色图像、索引色图像、灰度图像、二值图像之间的相互变换,并显示。 6、进行真彩色图像RGB(lenacolor.jpg)、YIQ图像、HSV图像、YcbCr图像的相互转换,并显示。 五、实验报告要求 1、描述实验的基本步骤; 2、用图片给出步骤4、5、6中取得的实验结果; 六、实验所需图片

lenacolor.jpg 七、实验注意事项 1、学生应提前预习 2、请大家在E盘建一个目录(matlab),在每次启动时都要将这个目录加入到MATLAB的搜索路径中,添加的方法为File----Set Path----Tool---Add Path 八、思考题 1、图像之间转换的基础是什么,为什么可以实现相互的转换 九、附录 MATLAB简介 (1) MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。实际上MATLAB中的绝大多数的运算都是通过矩阵这一形式进行的。这一特点也就决定了MA TLAB在处理数字图像上的独特优势。理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。而MATLAB的长处就是处理矩阵运算,因此用MA TLAB处理数字图像非常的方便。MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读,写和显示。MATLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。 1、MATLAB中图象数据的读取 A、imread imread函数用于读入各种图象文件,其一般的用法为 [X,MAP]=imread(‘filename’,‘fmt’) 其中,X,MAP分别为读出的图象数据和颜色表数据,fmt为图象的格式,filename为读取的图象文件(可以加上文件的路径)。 例:[X,MAP]=imread(’flowers.tif’,’tif’);

实验一图像处理基本操作

实验一图像处理基本操作 一、 实验目的 1、熟悉并掌握在MATLAB中进行图像类型转换及图像处理的基本操作。 2、熟练掌握图像处理中的常用数学变换。 二、实验设备 1、计算机1台 2、MATLAB软件1套 3、实验图片 三、实验原理 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f在坐标(x,y)处的幅度称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由若干个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术也适用于彩色图像处理,方法是分别处理三幅独立的分量图像即可。 图像关于x和y坐标以及幅度连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和幅度。将坐标值数字化称为取样,将幅度数字化称为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和幅度都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数组十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 图1 采样和量化的过程 根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类: ?亮度图像(Intensity images) ?二值图像(Binary images) ?索引图像(Indexed images) ? RGB图像(RGB images) (1) 亮度图像 一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。若亮度图像的像素都是uint8类型或uint16类型,则它们的整数值范围分别是[0,255]和[0,65536]。若图像是double 类型,则像素取值就是浮点数。规定双精度double型归一化亮度图像的取值范围是[0 1]。 (2) 二值图像 一幅二值图像是一个取值只有0和1的逻辑数组。而一幅取值只包含0和1的uint8

数字图像处理实验

实验三 图像的几何运算 实验目的 1、 理解几何运算的基本概念与定义; 2、 掌握在MA TLAB 中进行插值的方法 3、 运用MATLAB 语言进行图像的插值缩放和插值旋转。 实验原理 几何运算可改变图像中各物体之间的空间关系。这种运算可以被看成是将(各)物体在图像内移动。一个几何运算需要两个独立的算法。首先,需要一个算法来定义空间变换本身,用它来描述每个像素如何从其初始位置“移动”到终止位置,即每个像素的“运动”。同时,还需要一个用于灰度插值的算法,这是因为,在一般情况下,输入图像的位置坐标(x,y)为整数,而输出图像的位置坐标为非整数,反过来也如此。因此插值就是对变换之后的整数坐标位置的像素值进行估计。MATLAB 提供了一些函数实现这些功能。 插值是常用的数学运算,通常是利用曲线拟合的方法,通过离散的采样点建立一个连续函数来逼近真实的曲线,用这个重建的函数便可以求出任意位置的函数值。 最近邻插值是最简便的插值,在这种算法中,每一个插值输出像素的值就是在输入图像中与其最临近的采样点的值。该算法的数学表示为: ()()k f x f x = 如果 1111 ()()22 k k k k x x x x x -++<<+ 最近邻插值是工具箱函数默认使用的插值方法,而且这种插值方法的运算量非常小。不过,当图像中包含像素之间灰度级变化的细微结构时,最近邻插值法会在图像中产生人工的痕迹。 双线性插值法的输出像素值是它在输入图像中2×2领域采样点的平均值,它根据某像素周围4个像素的灰度值在水平和垂直两个方向上对其插值。 设''''1,1,,m i m n j n a i m b j n <<+<<+=-=-,' i 和'j 是要插值点的坐标,则双线性插值的公式为: ' ' (,)(1)(1)(,)(1)(1,)(1)(,1)(1,1)g i j a b g m n a b g m n a bg m n abg m n =--+-++-++++ 把按照上式计算出来的值赋予图像几何变换对应于'' (,)i j 处的像素,即可实现双线性插值。 双三次插值的插值核为三次函数,其插值邻域的大小为4×4。它的插值效果比较好,但相应的计算量也比较大,在这里不做讨论。

医学影像系统实验报告

实验1 图像的特性及图像处理初步 1 实验目的 了解MatLab软件/语言学,会使用MatLab的图像处理工具箱(Image Processing Toolbox)。使学生初步具备使用该软件处理图像信息的能力,并能够利用该软件完成本课程规定的其他实验和作业。 了解图像的基本特性,以及对图像进行简单运算后其性质的变化,学习对图像进行基本处理并评价处理结果。 2 实验要求 学生应当基本掌握MatLab的操作,掌握MatLab图像处理工具箱中最常用的函数的用法,会用该软件调入/保存图像数据,会利用该软件对图像进行简单的计算,例如四则运算等,并观察运算的结果加深对于象素和数值之间的关系的理解。 原始图像 3 实验内容与步骤 (1) 学习MatLab的基本操作 (2) 调入并显示图像 lena.gif lane = imread('lena.gif'); figure; imshow(lane); (3) 在图像 lena.gif 和图像的数据上进行加减乘除一个常数观察计算结果 l1 = imadd(lane,100); figure; imshow(l1); title('加法') l2 = imsubtract(lane,50); figure; imshow(l2); title('减法') l3 = immultiply(lane,0.6);

figure imshow(l3) title('乘法') l4 = imdivide(lane,2); figure imshow(l4); title('除法'); 从图中可以看出,当加法处理时,图像灰度值增加而变亮,减法时图像灰度值 减小而变暗,由于乘法参数为0.6,相当于减小灰度值;而 (4) 利用 imcrop 函数对图像 lena.gif 的头部进行剪裁,然后显示剪裁的结果 l5 = imcrop(lane,[55,50,180,212]); figure imshow(l5) 加法

数字图像处理实验题目要求

1基于形态学运算的星空图像分割 主要内容: 在获取星图像的过程中,由于某些因素的影响,获得的星图像存在噪声,而且星图像的背景经常是不均匀的,为星图像的分割造成了极大的困难。膨胀和腐蚀是形态学的两个基本运算。用形态学运算对星图像进行处理,补偿不均匀的星图像背景,然后进行星图像的阈值分割。 要求: 1> 图像预处理:对原始星空图像进行滤波去噪处理; 2> 对去噪后的图像进行形态学运算处理; 3> 选取自适应阈值对形态学运算处理后的图像进行二值化; 4> 显示每步处理后的图像; 5> 对经过形态学处理后再阈值的图像和未作形态学处理后再阈值的图像进行对比分析。 待分割图像 直接分割图像 处理后的分割图像 2基于数字图像处理的印刷电路板智能检测方法 主要内容: 通过对由相机实时获取的印刷电路板图像进行焊盘识别,从而提高电子元件的贴片质量,有效提高电路板的印刷效率。 要求: 1> 图像预处理:将原始彩色印刷电路板图像转成灰度图像,对灰度图像进行背景平滑和滤波去噪; 2> 对去噪后的图像进行图像增强处理,增强边缘提取的效果。 3> 对增强后的图像进行边缘提取(至少两种以上的边缘提取算法); 4> 显示每步处理后的图像(原始电路板图像可自行查找); 5> 图像处理后要求能对每个焊盘进行边缘提取,边缘清晰。 3静止背景下的移动目标视觉监控 主要内容: 基于视觉的人的运动分析最有前景的潜在应用之一是视觉监控。视觉监控系统的需求主要来自那些对安全要求敏感的场合,如银行、商店、停车场、军事基地等。通过对静止背景下的目标识别,来提醒监测人员有目标出现。

要求: 1>对原始参考图和实时图像进行去噪处理; 2>对去噪后的两幅图像进行代数运算,找出目标所在位置,提取目标,并将背景置黑; 3> 判断目标大小,若目标超过整幅图像的一定比例时,说明目标进入摄像保护区域,系统对监测人员进行提示(提示方式自选)。 4>显示每步处理后的图像; 5>分析此种图像监控方式的优缺点。 背景目标出现目标提取 4车牌识别图像预处理技术 主要内容: 车辆自动识别涉及到多种现代学科技术,如图像处理、模式识别与人工智能、计算机视觉、光学、机械设计、自动控制等。汽车作为人类生产、生活中的重要工具被广泛的使用,实现自动采集车辆信息和智能管理的车牌自动识别系统具有十分重要的意义: 要求: 1>对原始车牌图像做增强处理; 2>对增强后的彩色图像进行灰度变换; 3>对灰度图像进行直方图均衡处理; 4>选取自适应的阈值,对图像做二值化处理; 5>显示每步处理后的图像; 6>分析此种图像预处理的优缺点及改进措施,简要叙述车牌字符识别方法 原始车牌图像处理后的车牌图像 5医学细胞图像细胞分割图像增强算法研究 主要内容: 医学图象处理利用多种方法对各种图像数据进行处理,以期得到更好的显示效果以便医生根据细胞的外貌进行病变分析。 要求: 1>通过对图像的灰度变换调整改变细胞图像的灰度,突出感兴趣的细胞和细胞核区域。 2>通过直方图修改技术得到均衡化或规定化等不同的处理效果。 3>采用有效的图像平滑方法对细胞图像进行降噪处理,消除图像数字化和传输时所混入的噪声,提高图像的视觉效果。 4>利用图像锐化处理突出细胞的边缘信息,加强细胞的轮廓特征。 5>显示每步处理图像,分析此种细胞分割图像预处理方法的优缺点。 原始细胞图像 图像处理后的细胞图像 6瓶子灌装流水线检测是否液体灌装满瓶体 当饮料瓶子在罐装设备后要进行液体的检测,即:进行判断瓶子灌装流水线是否灌装满瓶体的检测,如液面超过瓶颈的位置,则装满,否则不满,如果不满则灌装液体不合格,需重新进行灌装。 具体要求: 1)将原进行二值化 2)二值化后的图像若不好,将其滤波再进行膨胀处理,并重新进行二值化 3)将图像标记连通域并进行面积计算,找出不符合要求的标记块 4)将不合格的图像进行提取,并记录不合格率

医学图像处理实验

实验一 yq1 I=imread('');%读黑白图像 subplot(2,2,1);imshow(I) %显示图像 subplot(2,2,2);imhist(I) %显示直方图 J=imadjust(I,[ ],[0 1]);%对比度增强 subplot(2,2,3);imshow(J) subplot(2,2,4);imhist(J) I1=imresize(I,;imview(I1)%缩小 I2=imresize(I,;imview(I2)%放大 I3=imrotate(I,45,'bilinear','crop');imview(I3)%旋转45°%%原图、直方图对比度增强、直方图 %%缩小

%%放大 %%旋转45°

yq2 I=imread(''); imshow(I); I1=rgb2gray(I);%把彩色图像转换成灰度图像figure,imshow(I1); info= imfinfo('')%查询文件信息 imwrite(I1,'D:\yq\小小.png'); %写图像

info = Filename:'C:\MATLAB7\toolbox\images\i mdemos\' FileModDate: '03-May-2003 13:53:58' FileSize: 554554 Format: 'png' FormatVersion: [] Width: 732 Height: 486 BitDepth: 24 ColorType: 'truecolor' FormatSignature: [137 80 78 71 13 10 26 10] Colormap: [] Histogram: [] InterlaceType: 'none' Transparency: 'none' SimpleTransparencyData: [] BackgroundColor: [] RenderingIntent: [] Chromaticities: [] Gamma: []XResolution: [] YResolution: [] ResolutionUnit: [] XOffset: [] YOffset: [] OffsetUnit: [] SignificantBits: [] ImageModTime:'20 Feb 2003 20:53:33 +0000' Title: [] Author: [] Description: [] Copyright: 'Copyright Corel' CreationTime: [] Software: [] Disclaimer: [] Warning: [] Source: [] Comment: [] OtherText: [] yq3 [I,map]=imread(''); imshow(I,map)

数字图像处理实验指导书

实验一数字图像处理编程基础 一、实验目的 1. 了解MATLAB图像处理工具箱; 2. 掌握MATLAB的基本应用方法; 3. 掌握MATLAB图像存储/图像数据类型/图像类型; 4. 掌握图像文件的读/写/信息查询; 5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法; 6. 编程实现图像类型间的转换。 二、实验原理 略。 三、实验内容 1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。 2. 运行图像处理程序,并保存处理结果图像。 四、分析思考 归纳总结Matlab各个基本指令。 Dither 采用“抖动”方法从RGB 图像创建索引图像 grayslice 从灰度图像通过阈值处理创建索引图像 gray2ind 从灰度图像创建索引图像 ind2gray 从索引图像创建灰度图像 rgb2ind 从RGB 图像创建索引图像 ind2rgb 从索引图像创建RGB 图像 rgb2gray 从RGB 图像创建灰度图像

实验二 图像几何变换实验 一、实验目的 1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果; 2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现; 3.掌握matlab 编程环境中基本的图像处理函数。 二、实验原理 1. 初始坐标为(,)x y 的点经过平移00(,)x y ,坐标变为(',')x y ,两点之间的关系为:00 ''x x x y y y =+??=+?,以矩阵形式表示为: 00'10'01100 11x x x y y y ????????????=?????????????????? 2. 图像的镜像变换是以图象垂直中轴线或水平中轴线交换图像的变换,分为垂直镜像变换和水平镜像变换,两者的矩阵形式分别为: '100'01010011x x y y -????????????=?????????????????? '100'01010011x x y y ????????????=-?????????????????? 3. 图像缩小和放大变换矩阵相同: '00'0010011X y x S x y S y ????????????=?????????????????? 当1x S ≤,1y S ≤时,图像缩小;当1x S ≥,1y S ≥时,图像放大。 4. 图像旋转定义为以图像中某一点为原点以逆时针或顺时针方

数字图像处理上机实验三

医学图像处理实验三1、计算图像的梯度,梯度值和梯度角。 I=imread('C:\Users\Administrator\Desktop\cat.jpg'); B=rgb2gray(I); C=double(B); e=1e-6;%10^-6 [dx,dy]=gradient(C);%计算梯度 G=sqrt(dx.*dx+dy.*dy);%梯度幅值 figure,imshow(uint8(G)),title('梯度图像'); pha=atan(dy./(dx+e)) figure,imshow(pha,[]) 图 1

图 2 梯度角图 2、计算图像边缘检测,用滤波器方式实现各种算子。 (1)Roberts算子 clear; I=imread('C:\Users\admin\Desktop\mao.jpg'); B=rgb2gray(I); [m,n]=size(B); nB=B; robertsnum=0;%经roberts算子计算得到的每一个像素的值robertsthreshold=0.6;%设定阈值 for j=1:m-1;%进行边界提取 for k=1:n-1 robertsnum=abs(B(j,k)-B(j+1,k+1))+abs(B(j+1,k)-B(j,k+1)); if(robertsnum>robertsthreshold) nB(j,k)=255; else nB(j,k)=0; end end end subplot(1,2,1);imshow(B);title('原图'); subplot(1,2,2);imshow(nB,[]);title('Robert算子处理后的图像');

图像处理实验报告

实验报告 实验课程名称:数字图像处理 班级:学号:姓名: 注:1、每个实验中各项成绩按照10分制评定,每个实验成绩为两项总和20分。 2、平均成绩取三个实验平均成绩。 2016年 4 月18日

实验一 图像的二维离散傅立叶变换 一、实验目的 掌握图像的二维离散傅立叶变换以及性质 二、实验要求 1) 建立输入图像,在64?64的黑色图像矩阵的中心建立16?16的白色矩形图像点阵, 形成图像文件。对输入图像进行二维傅立叶变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上。 2) 调整输入图像中白色矩形的位置,再进行变换,将原始图像及变换图像(三维、中 心化)都显示于屏幕上,比较变换结果。 3) 调整输入图像中白色矩形的尺寸(40?40,4?4),再进行变换,将原始图像及变 换图像(三维、中心化)都显示于屏幕上,比较变换结果。 三、实验仪器设备及软件 HP D538、MATLAB 四、实验原理 傅里叶变换作为分析数字图像的有利工具,因其可分离性、平移性、周期性和共轭对称性可以定量地方分析数字化系统,并且变换后的图像使得时间域和频域间的联系能够方便直观地解决许多问题。实验通过MATLAB 实验该项技能。 设),(y x f 是在空间域上等间隔采样得到的M ×N 的二维离散信号,x 和y 是离散实变量,u 和v 为离散频率变量,则二维离散傅里叶变换对一般地定义为 ∑∑ -=-=+-= 101 )],( 2ex p[),(1 ),(M x N y N yu M xu j y x f MN v u F π,1,0=u …,M-1;y=0,1,…N-1 ∑∑-=-=+=101 )],( 2ex p[),(),(M x N y N uy M ux j v u F y x f π ,1,0=x …,M-1;y=0,1,…N-1 在图像处理中,有事为了讨论上的方便,取M=N ,这样二维离散傅里叶变换对就定义为 ,]) (2ex p[),(1 ),(101 ∑∑ -=-=+- = N x N y N yu xu j y x f N v u F π 1,0,=v u …,N-1 ,]) (2ex p[ ),(1 ),(101 ∑∑-=-=+= N u N v N vy ux j v u F N y x f π 1,0,=y x ,…,N-1 其中,]/)(2exp[N yv xu j +-π是正变换核,]/)(2exp[N vy ux j +π是反变换核。将二维离散傅里叶变换的频谱的平方定义为),(y x f 的功率谱,记为 ),(),(|),(|),(222v u I v u R v u F v u P +== 功率谱反映了二维离散信号的能量在空间频率域上的分布情况。 五、实验步骤、程序及结果: 1、实验步骤: (1)、编写程序建立输入图像; (2)、对上述图像进行二维傅立叶变换,观察其频谱 (3)、改变输入图像中白框的位置,在进行二维傅里叶变换,观察频谱;

用matlab数字图像处理四个实验

数字图像处理 实验指导书

目录 实验一MATLAB数字图像处理初步实验二图像的代数运算 实验三图像增强-空间滤波 实验四图像分割 3

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: ?亮度图像(Intensity images)

图像处理实验3(习题教学)

昆明理工大学信息工程与自动化学院学生实验报告 (2016—2017学年第一学期) 课程名称:数字图像基础开课实验室: 2016年月日 年级、专业、班学号姓名成绩 实验项目名称图像增强(1)指导教师 教师评语 该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强□ B.中等□ C.差□ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般□ C.没有□ 教师签名: 2016年 11月 16日 一、实验目的及内容 目的:掌握和熟悉Matlab编程环境及语言;掌握直方图统计的算法和用途。 内容: 1.调试教材P25页例 2.1输出类似教材图2.3的结果。 2.调试教材P33页例2.4,编写一个程序,分别使用imhist、bar、stem、plot四种方式 显示一幅灰度图像的直方图 3.调试教材P37页例2.5。 4.直方图均衡化的公式如下所示: 11 ()() k k j k k r j j j n s T r p r n == === ∑∑ 根据上式及课堂所讲直方图均衡化原理及方法,自己写一个Matlab函数实现对灰度图像的直方图均衡化功能(类似于Matlab提供的hist eq函数)。(提示:实现中使用Matlab函数cumsum(P38)可能会使程序简单些)。

二、要求 1.描述直方图的概念并解释直方图均衡化原理。 2.程序结构清晰,运行结果正确。 3.对于第1、2、3小题在实验报告中给出所调试的程序,及其运行结果,对第4小题 描述程序的设计、实现和结果,并对结果进行分析。

图像处理 实验报告

摘要: 图像处理,用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别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轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fx≠fy,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。 旋转。一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。旋转后图像的的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。图像的旋转变换也可以用矩阵变换来表示。

数字图像处理实验教学大纲

《数字图像处理》课程实验教学大纲 电子信息工程教研室编 信息与电子工程学院 2013 年 8 月

课程名称:数字图像处理课程编号:056123 英文名称: Digital Image Processing 课程负责人:马加庆 课程性质:非独立设课 课程属性:专业 应开实验学期:第6学期 学时学分:课程总学时---48 实验学时---16 课程总学分---3 实验学分---0 实验者类别:本科生 适用专业:电子信息工程、电子信息科学与技术 先修课程:线性代数,信号与系统,数字信号处理,计算机仿真及应用 一、课程简介 数字图像处理是研究数字图像处理的基本理论、方法及其在智能化检测中应用的学科,本课程侧重于数字图像的基本处理理论和方法,并对图像分析的基本理论和实际应用进行系统介绍。目的是使学生系统掌握数字图像处理的基本概念、基本原理、实现方法和实用技术,了解数字图像处理基本应用和当前国内外的发展方向。要求学生通过该课程学习,具备解决智能化检测与控制中应用问题的初步能力,为在计算机视觉、模式识别等领域从事研究与开发打下扎实的理论基础。 二、课程实验教学的目的、任务与要求 通过实验使学生加深对课堂上所学专业知识的认识,通过理论与实践相结合提高学生的动手能力。要求学生利用所学知识完成对图像的锐化、模糊、加噪声、读取、变换等处理。 三、实验方式与基本要求 实验方式:学生一人一机,独立实验,注意记录实验数据与结果分析。 基本要求:实验前,学生要认真预习实验任务,了解实验目的和实验内容;实验时,要认真上机,做好观察分析和记录;实验后,按要求编写实验报告。 四、实验项目设置 注:实验类型:1.演示/2.验证/3.综合/4.设计研究/5.其他;实验类别:1.基础/2.专业基础/3.专业/4.其它;实验要求:1.必修/2.选修/3.其它

相关文档
最新文档