b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

汇总:数字图像处理实践综合课程。 doc 10页

电脑杂谈  发布时间:2020-10-25 17:03:13  来源:网络整理

数字图像处理实训教程_数字图像处理实训教程

数字图像处理课程综合实习指导书武汉大学遥感信息工程实验中心数字图像处理课程综合实习说明实习目的本实习内容旨在使学生能够用高级语言编写一些用于数字图像处理的基本算法程序诸如VC一样,巩固和掌握图像处理技术的基本技能,提高实践能力,并通过实际编程了解实现图像处理软件的基本原理。它为学生进一步学习数字摄影测量,遥感和地理信息系统等课程以及应用图像处理解决实际问题奠定了基础。实习要求:(1)在实习之前,您应仔细阅读并熟悉图像存储格式和常见图像处理算法的理论知识。(2)受训者应熟悉C或VC编程语言。 (3)每个人都是固定的。使用计算机创建班级的学生姓名文件夹,并将您的实习结果存储在您自己的文件夹中。([4)实习结束后,老师将对最终成绩进行评分(5)最后,每个学生都必须提交实习报告和根据实习要求编制的计划。实习评估方法:出勤率(迟到,提早离开,旷工,扣除点)(20分);算法和功能由编程(50分);实习报告(30分));数字图像处理基础知识的第一部分1、数字图像概念数字图像是连续图像的近似表示通常由一个由采样点的值组成的矩阵表示:每个采样点称为一个像素(pixel)。在上式中,m和n分别是数字图像的行数和列数。在计算机中,通常使用二维数组来表示数字图像的矩阵。

以不同的方式组织或存储像素以获取不同的图像格式,并将图像数据另存为文件以获取图像文件。图像文件通常根据其数字图像格式具有不同的扩展名。常见的图像文件格式有:RAW格式,BMP格式,TGA格式,PCX格式,GIF格式,TIFF格式等。2、BMP文件构成BMP格式:这是一种常用的数字图像格式。 BMP文件大致分为以下4个部分:BITMAPFILEHEADER(位图文件头),BITMAPINFOHEADER(位图信息头),调色板(彩色版本),DIB像素(DIB图像数据)。第一部分:位图文件头BITMAPFILEHEADER,它是一个结构类型为def struct tagBITMAPFILEHEADER {WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits;} BITMAPFILEHEADER,FAR * LPBITMAPFILEHEADER;结构的长度是固定的14字节,每个参数的说明如下:bfType:指定文件类型,必须为0x424D,即字符串“ BM”。也就是说,所有“ .bmp”文件的前两个字节为“ BM”。bfSize:指定文件大小; bfReserved 1、 bfReserved2:保留字,无需考虑; bfOffBits:实际位图的文件头数据的偏移字节数,它是前三个部分的长度之和。

数字图像处理实训教程_数字图像处理实训教程

第2部分:位图信息标题BITMAPINFOHEADERtypedef struct tagBITMAPINFOHEADER {DWORD bfSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONGbiYPersPerMeter; LONGbiYPersPerMeter; DWORD biClrUsed; ERB; ER ;;结构的长度为40个部分,每个参数的含义解释如下:biSize:指定此结构的大小,为40个字节; biWidth:指定图像的宽度,以像素为单位; biHeight:指定图片的高度,单位为像素; biPlanes:必须为1; biBitCount:指定用于表示颜色的位数,常用值是1(黑白),8(256种颜色),24(真彩色); biCompression:指定是否压缩位图,有效值为BI_RGB,BI_RLE4、BI_RLE8。

BI_RGB未压缩。 biSizeImage;指定实际位图数据占用的字节数。可以使用以下公式进行计算:需要注意的是:在上面的公式中并不总是等于biWidth,它必须是4的整数倍。这意味着biWidth大于或等于最接近的整数倍。 of 4. biXPelsPerMeter:指定目标设备的水平分辨率,单位是每米的像素数; biYPelsPerMeter;指定目标设备的垂直分辨率,单位是每米的像素数; biClrUsed:指定图像中实际使用的颜色数量,如果值为0,则使用的颜色数量为2 biBitCount的幂。 biClrImportant:指定此图像中重要颜色的数量,如果该值为零,则认为使用的颜色很重要。第三部分:Palette(调色板)调色板实际上是一个数组,总共包含biClrUsed(颜色数)个元素(如果值为0,则为biBitCount的幂的2)。数组中每个元素(颜色)的类型都是RGBQUAD结构,占用4个字节。该结构定义如下:typedef struct tagRGBQUAD {BYTErgbBlue; BYTErgbGreen; BYTErgbRed; BYTErgbReserved;} RGBQUAD;注意:某些位图(例如真彩像)没有调色板。

数字图像处理实训教程_数字图像处理实训教程

DIB数据直接位于其位图信息标头(BITMAPINFOHEADER)之后。第四部分:DIB图像数据分为两种情况:对于使用调色板的位图,图像数据为调色板中像素颜色的索引值;对于使用调色板的位图,图像数据为调色板中像素颜色的索引值。对于真彩像,图像数据是实际的R,G,B值。对于2色位图,1位可以代表像素的颜色,因此一个字节可以代表8个像素;对于16色位图,4位可以代表一个像素的颜色,因此1个字节可以代表2个像素;对于256色位图,一个字节仅代表一个像素。对于真彩像,3个字节可以代表1个像素。注意:1.每行的字节数必须是4的整数倍。如果不是,则需要填写;2.以从上到下,从左到右的顺序存储图像数据;我们读取的第一个像素是图像底部行中左侧的第一个像素,然后是左侧的第一个像素。接下来的两个像素是倒数第二行中从左数第一个像素,从左边数第二个像素,依此类推,最后一个像素是顶行中的最后一个像素。3、通用位图函数int SetDIBitsToDevice(HDC hdc,int XDest,int YDest,DWORD dwWidth,DWORD wHeight,int XSrc,int YSrc,UINT uStartScan,UINT cScanLines,CONST VOID * lpBits,CONST BITMAPINFO * lpbmi,UINT fuColorUse该功能可以直接在监视器或打印机上显示DIB,而无需在显示过程中进行缩放,也就是说,位图的每个像素都对应于打印机的显示像素或打印点。

每个参数的含义如下:HDC hdc:设备上下文句柄。它可以是CDC对象的公共成员变量m_hDC。 int Xdest:指定绘图区域(逻辑单位)左上角的x坐标int Ydest:指定绘图区域(逻辑单位)左上角的y坐标DWORD dwWidth:指定DIB的宽度(逻辑单位)DWORD dwHeight:指定DIB(逻辑单位)坐标的高度)int Xsrc:指定要在原始图形(逻辑单位)中绘制的区域的左上角的x坐标int Ysrc:指定y在原始图形中要绘制的区域的左上角的坐标(逻辑单位)UINT uStartScan:指定DIB扫描的起始行UINT cScanLines:指定由DIB扫描的行数(即DIB的高度)CONST VOID * lpBits:指向DIB图像数据的指针lpbmi:指向BITMAPINFO结构的指针fuColor用途:在BITMAPINFO结构中指定bmiColors参数以表示实际RGB值或调色板它具有两个可能的值:DIB_PAL_COLORS:表示索引值DIB_RGB_COLORS:re显示真实的RGB值。如果函数成功调用,则返回绘制的行数;如果失败,则返回0。int StretchDIBits(HDC hdc,int XDest,int YDest,int nDestWidth,int nDestHeight,int XSrc,int YSrc,int nSrcWidth,int nSrcHeight,CONST VOID * lpvBits,CONST BITMAPINFO * lpbmi,UINTiUsage, DWORD SwrcWidth:指定n dwrcWidth)int复制原始图像矩形区域的宽度(逻辑单位)int nSrcHeight:指定要复制的原始图像矩形区域的高度(逻辑单位)lpBits:指向DIB图像数据区域的指针lpBitsInfo:指向BITMAPINFO结构的指针iUsage:指定BITMAPINFO结构bmiColors参数表示调色板中的实际RGB值或索引值。它有两个可能的值:DIB_PAL_COLORS:表示索引值DIB_RGB_COLORS:表示实际RGB值dwRop:指定绘制方法;通常使用的值为SRCCOPY,这意味着将原始位图复制到目标位图。如果函数成功调用,则返回绘制的行数;如果调用失败,则返回GDI_ERROR。

数字图像处理实训教程_数字图像处理实训教程

读取.bmp文件的功能原型。 HDIB ReadDIBFile(CFile&文件)。参数Cfile&file:是文件名;该函数的返回值是文件中图像数据的句柄。4.将图像数据另存为.bmp文件。函数原型是BOOL WINAPI SaveDIB(HDIB hDib,CFile&文件)。第一个参数是hdib,表示存储图像数据的存储区的句柄。第二个参数是保存图像的文件名。5、查找位图像素LPSTR WINAPI FindDIBBits(LPSTR lpbi):此函数用于计算DIB位图图像数据的地址,并返回指向位图图像数据起始位置的指针。6、GlobalLock(HGLOBAL hMem),GlobalUnLock(HGLOBAL hMem)适用于内存并释放内存功能。练习内容的第二部分练习的必需部分的第二部分一、将RAW图像格式转换为BMP图像格式一、练习的目的是熟悉常见的图像文件格式和格式转换,以了解每种图像格式的优缺点;掌握RAW和BMP格式的存储和读取,通过编程实现RAW —> BMP格式的转换,为读取各种格式文件打下基础。二、实践原理RAW格式:文件是由数字图像组成的二维矩阵,并且像素按行和列编号的顺序存储在文件中。

这种文件仅包含图像像素数据,不包含信息标题。因此,在读取图像时,需要根据文件大小计算图像中包含的行数和列数,或者需要事先知道图像大小(矩阵大小)。但是这种文件易于读​​取和保存。 RAW文件按照图像从上到下,从左到右的顺序存储,而BMP文件数据区域存储在从图像的顶部到顶部以及从左列到右的数据区域。为了实现从RAW文件到BMP文件的转换,需要生成文件头,信息头,颜色表,BMP文件的数据区域,并将RAW文件数据区域分配给BMP文件数据区域。三、练习内容和要求掌握BMP格式的读取和存储,创建CDib类;实现从RAW格式到BMP格式的转换。四、实习步骤是根据您的创建一个自己的文件夹;使用AppWizard生成基于多个文档(以您自己命名)的项目;将CxxxxView类的基类设置为CscrollView类,以便项目在显示图像时支持滚动条;将程序的Dibapi.h和Dibapi.cpp添加到新项目;编译并连接以运行您自己的程序以查看运行结果;添加菜单项“ RAW-> BMP”,并建立相应的消息处理功能;在功能主体中添加自己的代码,实现RAW读取,并实现RAW到BMP格式的转换功能。修改编程中的各种语法错误和逻辑错误;检查程序操作的结果。

数字图像处理实训教程_数字图像处理实训教程

练习2对线性灰度变换程序进行编程一、该练习的目的是熟悉图像点增强的一般方法,掌握图像点增强的算法和原理,并使用编程方法来实现它的算法。二、实践原理点计算是指通过计算来改变像素值(即像素点上的灰度值),从而可以提高图像的显示效果。这是逐像素操作,旧图像和新图像之间的映射关系以及简单但非常有效的图像处理方法。常用的方法包括灰度线性变换,直方图均衡,对比度调整,直方图调节,对数变换,指数变换,密度分割等方法。灰度的线性变换是指根据线性灰度变换函数来变换图像中所有点的灰度。灰度变换方程如下:该方程是线性方程。公式中,该参数为输入图像像素的灰度值,该参数为输出图像的三、练习内容和要求,以熟悉基于点运算增强的灰度线性变换算法。仔细读取图像显示程序段和读取像素灰度值,以获取,更改和存储;在实践一的基础上完成灰色线性变换的编程。四、实习步骤:打开一个由您自己的实习项目建立的项目;添加菜单项“线性拉伸”;为菜单项创建消息处理功能;在函数定义中添加您自己的源代码。编译并检查语法错误。如果编译通过,请运行程序以检查是否可以实现灰度线性变换。五、思维问题1、线性变换后,像素的灰度值是否超过了0-255的范围?如果超过,我该怎么办?2、如何实现直方图均衡化?试用流程图显示。

实践III:编写用于部分处理的程序一、实习目的:熟悉图像局部处理的一般方法,掌握图像局部处理的算法和原理,并使用编程方法来实现图像局部处理算法。二、实践原理局部处理在处理某个像素时,请使用与该像素相邻的一组像素,经过某种变换后获得处理后图像中某个点的像素值。目标像素的邻域通常是由像素组成的二维矩阵,矩阵的大小为奇数,目标像素位于矩阵的中心,即目标像素为区域的中心像素。处理后,通过特定算法计算目标像素的值。主要的局部处理算法是卷积,中值滤波器sobel边缘检测等。其中,卷积算法是使用最广泛的算法,大多数局部处理是通过卷积算法实现的。卷积可以简单地视为加权求和过程。卷积中使用的权重由一个小的矩阵表示,矩阵的大小奇数且与所使用的区域的大小相同。这种权重矩阵称为卷积核。区域中的每个像素乘以卷积内核中的每个元素。所有乘积之和是该区域中心像素的新值。例如,在将3x3区域P与卷积核K卷积后,区域P的中心像素表示为:其中P =和K =卷积核中的每个元素称为卷积系数。卷积核中卷积系数的大小和顺序决定了卷积的图像处理效果,例如低通滤波:图像平滑和模糊;高通滤波:图像锐化和清除。通常使用3x3、 5x5或7x7卷积内核,并且所有卷积内核的行数和列数都是奇数。

执行卷积运算时会遇到三个问题:图像边界问题;计算中心像素动态范围的问题;卷积结果的像素值的符号问题。三、实习的内容和要求1、熟悉基于本地处理的卷积算法;2、根据第二种做法,使用3x3卷积内核完成本地处理的编程;3、解决“卷积运算问题”实践中提出的原则。四、实习步骤1、打开您自己建立的项目进行实习;2、添加菜单项“ 3x3低通滤波器”和“ 3x3高通滤波器”菜单项;3、是两个新添加的菜单项,分别建立消息处理功能;4、在函数体中添加3x3低通滤波(或3x3高通滤波)的源代码。5、编译并检查语法错误。如果编译通过,请运行程序以检查是否可以实现本地处理算法。五、思维问题如果要检测水平边缘,应使用哪种算子;如何实现Sobel边缘检测算子?实习4-实习8第二部分选择以下五个单元之一。该算法是通过搜索信息和阅读文献独立设计的。单元1灰度图像中值滤波单元2图像几何处理:图像平移,缩放和旋转变换单元3基于高通滤波的图像融合单元4基于HIS变换的图像融合方法5灰度图像边缘检测单元6图像二进制修改:判断分析单元7霍夫变换检测直线单元8纹理图像的自相关函数分析单元9灰度共生矩阵特征提取单元10灰度模板匹配单元11基于特征的模板匹配单元12形状特征提取9特殊特征,输出图像的灰度反转时,输出图像的对比度将降低,输出图像的对比度将使灰度值上下移动,输入和输出图像具有相同的灰度级。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-328576-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 袁亚军
        袁亚军

        别让和平到来

      • 赵志慧
        赵志慧

        如果说以前让你们来大陆投资是为了发展经济

      • 张隐
        张隐

        幸福的感觉

      热点图片
      拼命载入中...