基于mfc的图像边缘检测提取算法仿真内容摘要:
用 R、 G、 B3 个分量表示,则一个像素需要 3个字节 (因为每个分量有 256 个级别,要用 8位,即 1个字节来表示,所以 3个分量需要用 3 个字节 )。 这样保存整个 图像要用 200*200*3,即 120200 字节。 但是如果采用调用的方法,就能节省很多字节。 对于 16 色图像,图中最多只有 16 种颜色,如果采用一个颜色表,表中的 每一行记录一种颜色的 R、 G、 B 值,这样当表示一个像素的颜色时,只需要指出该颜色是第几行,即指出的该颜色在表中的索引值即可。 例如表的第0 行为 (255, 0, 0),表示红色,那么当某个像素为红色时,只需要标明 0即长春大学光华学院 毕业设计(论文)专用纸 共 30 页 第 8 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 可。 通过颜色索引表来表示图像, 16种状态可以用 4 位 (bit)表示,所以一个像素要用半个字节。 整个图像要用 200*200*,即 20200 字节,再加上颜色表占用 3*16=48 字节,也不过 20208 字节。 这样一幅图像整个占用的字节数只是用前面方法表示的 1/6。 [2] 灰度图像和彩色图像 1. 灰度图像 灰度图 (Grayscale)是指含亮度信息不含彩色信息的图像,是数字图像的基本形式,灰度图像可有由黑白照片数字化得到,或从彩色图像进行去色处理得到。 灰度图像只表达图像的亮度信息而没有颜色信息,因此,灰度图像的每个像素点上只包含一个量化的灰度级 (即灰度值 ),用来表示该点的亮度水平,并且通常用 1 个字节 (8 个二进制位 )来存储灰度值。 如果灰度值用 1 个字节表示,则可以表示的正整数范围是 0到 255,也就是说,像素灰度值取值在 0到 255 之间,灰度技术为 256 级。 注意到人眼对灰度的分辨能力通常在 20 到 60级 ,因此,灰度值存储以字节为单位即保证了人眼的分辨能力,又符合计算机数据寻址的习惯。 在特殊应用中,可能要采用更高的灰度级数,例如 CT 图像的灰度级数高达数千,需要采用 12 位或16 位二进制位来存储,但这类图像通常都采用专用的显示设备和软件来进行显示和处理。 [7] 彩色图像的数据不仅包含亮度信息,还包含颜色信息。 彩色的表示方法是多样化的,最常见的是三基色模型,例如 RGB 三基色模型,利用 RGB 三基色可以混合成任意颜色。 因此 RGB 模型在各种彩色成像设备和彩色显示设备中使用,常规的彩色图像也都是用 RGB 三基 色来表示的,每个像素包括 RGB三基色数据,每个基色用 1个字节 (8位二进制位 )表示,则每个像素的数据为 3个字节 (即 24位二进制位 ),这就是人们常说的 24位真彩色。 位图 位图 GDI 是图形设备接口 (Graphics Device Interface)的缩写。 GDI 位图是一种 GDI对象,在 Microsoft基本类 (MFC)库中 Cbitmap类来表示。 在 Cbitmap类对象中,包含一种和 Windows 的 GDI 模块有关的 Windows 数据结构,该数据结构是与设备相关的。 应用程序可以得到 GDI 位图 数据的一个备份,但是其中位图的安排则完全依赖于显示设备。 我们可以将 GDI 位图数据在同一台计算机内的不同应用程序间任意传递,但是由于其对设备的依赖性,在不同长春大学光华学院 毕业设计(论文)专用纸 共 30 页 第 9 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 类型计算机间的传递是没有任何意义的。 Cbitmap 类封装了 Windows GDI 位图,同时提供了一些位图的成员函数。 在使用 CBitmap 对象时,首先要创建一个 Cbitmap 对象,然后把它选进设备环境中,再调用其成员函数进行处理,使用完毕后,把它从设备环境中选出并删除。 (DIB) DIB 是设备无关位图 (DeviceIndependent Bitmap)的缩写,它自带颜色信息,因此调色板管理非常容易。 DIB 也使打印时的灰度阴影的控制更加容易。 任何运行 Windows 操作系统的计算机都可以处理 DIB,它通常以 BMP 文件的形式被保存在磁盘中或者作为资源保存在 EXE 文件和 DLL 文件中。 (1)BMP 图像的 DIB 结构 DIB 是标准的 Windows 位图格式, BMP文件中包含了一个 DIB。 一个 BMP文件大体上分成如下 4个部分: BITMAPFILEHEADER bType=” MB” 位图文件头 bfSize (只用于 BMP 文件 ) btReserved1 btReserved2 bfOffBits BITMAPINFOHEADER biSize 位图信息头 biWidth biHeight biPlanes biBitCount biCompression biSizeImage biXPelsPerMeter biYPelsPerMeter biClrUsed biClrImportant Polette 单色 DIB 有 2个表项 调色板 16 色 DIB有 16 个表项或更少 256 色 DIB 诱 256 个表项或更少 真彩色 DIB 没有调色板 每个表项长度为 4字节 (32 位 ) 长春大学光华学院 毕业设计(论文)专用纸 共 30 页 第 10 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ DIB Pixels 像素按照每行每列的顺序排列 DIB 图像数据 每一行的字节数必须是 4 的整倍数 第 1部分为位图文件头 BITMAPFILEHEADER,它是一个结构,其定义如下: typedef struct tagBITMAPFILEHEADER{ WORD bfType。 DWORD bfSize。 WORD bfReserved1。 WORD bfReserved2。 DWORD bfoffBits。 }BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER。 该结构的长度是固定的,为 14 个字节 (WORD 为无符号 16位整数, DWORD为无符号 32 位整数 ),各个域的说明如下: bfType:指定文件类型,必须是 0x4D42,即字符串“ MB”,也就是说所有的“ .bmp”文件的头两个字节都是“ MB”。 bfSize:指定文件大小,包括 14个字节。 bfReserved1, bfReserved2:为保留字,不用考虑。 bfOffBits:为从文件头到实际的位图数据的偏移字节数。 第 2部分为位图信息头 BITMAPINFOHEADER,它也是一个结构,其定义如下: typedef struct tagBITMAPINFOHEADER{ DWORD biSize。 LONG biWidth。 LONG biHeight。 WORD biPlanes。 WORD biBitConut。 DWORD biCompression。 DWORD biSizeImage。 LONG biXPelsPerMeter。 LONG biYPelsPerMeter。 DWORD biClrUsed。 DWORD biClrImportant。 } BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER 这个结构的长度也是固定的,为 40 个字节 (WORD 为无符号 16位整数,DWORD 为无符号 32位整数, LONG 为 32 位整数 )。 各个域的说明如下。 biSize:指定这个结构的长度, 为 40字节。 长春大学光华学院 毕业设计(论文)专用纸 共 30 页 第 11 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ biWidth:指定图像的宽度,单位是像素。 biHeight:指定图像的高度,单位是像素。 biPlanes:必须是 1,不用考虑。 biBitCount:指定表示颜色时药用到的位数,常用的值为 1(黑白二色图 )、4(16色图 )、 8(256色 )、 24(真彩色图 ),新的“ .bmp”格式支持 32 位色 biCompression:指定位图是否压缩,有效的值为 BI_RGB, BI_RLE8,BI_RLE4, BI_BITFIELDS(都是一些 Windows 定义好的常量 )。 需要注意,Windows 位 图可以采用 RLE4 和 RLE8 的压缩格式,但是使用不经常。 biSizeImage:指定实际的位图数据占用的字节数,其实也可以从下面公式计算出来: biSizeImage=biWidth‘ *biHeight 要注意的是上面的公式中的 biWidth必须是 4的整数倍 (所以不 biWidth,而是 biWidth‘ ,表示大于或等于 biWidth 的离 4 最近的整数倍。 例如,如果biWidth=240,则 biWidth‘ =240;如果 biWidth=241,则 biWidth‘ =244)。 如果 biCompression 为 BI_RGB,则该项可能为零。 biXPelsPerMerter:指定目标设备的水平分辨率,单位是像素 /米。 biYPelsPerMerter:指定目标设备的垂直分辨率,单位是像素 /米。 biClrUsed:指定图像实际用到的颜色数,如果该值为零,则用到的颜色数为 2 的 biBitCount 次幂。 biClrImportant:指定图像中重要的颜色数,如果该值为零,则认为所有的颜色都是重要的。 第 3部分为调色板 (Palette)。 有些位图需要调色板,有些位图 (例如真彩色图 )不需要调色板,它们的 BITMAPINFOHEADER 后面直接是位图数据。 调色板实际上市一个数组,共有 biClrUsed 个元素 (如果该值为零,则有2 的 biBitCount 次幂个元素 )。 数组中每个元素的类型是一个 RGBQUAD 结构,占 4个字节,其定义如下: typedef struct tagRGBQUAD{ BYTE rgbBlue。 该颜色的蓝色分量 BYTE rgbGreen。 该颜色的绿色分量。 BYTE rgbRed。 该颜色的红色分量。 BYTE rgbReserved。 保留值。 }RGBQUAD。 第 4部分是实际的图像数据。 对于用到调色板的位图,图像数据就是该像素颜色在调色板中的索引值;对于真彩色图,图像数据就是实际的 R、 G、B 值 长春大学光华学院 毕业设计(论文)专用纸 共 30 页 第 12 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊。基于mfc的图像边缘检测提取算法仿真
相关推荐
在研制过程中,Intel 计算机专家泰德霍夫 (Ted Hoff)发现,与其依照每一个不同的使用规格设计一颗颗不同的芯片,不如把整个结构拆分成两部分,一边是共用的 、能进行逻辑控制用的处理器,另一边则是用来贮存指令的只读存储器 ROM(Read Only Memory)。 对于不同计算器,只需要改变存储器的内容。 如此一来,同一个处理器可以应用在各种不同的计算器
地区的学校开始尝试 “ 定制学习 ” ,即通过网络课程管理平台将课程发布到网上,学习者可以选择自己喜欢的方式,在需要的时候访问课程,安排自己的学习内容。 目前, 它已经是 世界上最流行的课程管理系统之一 ,在 全世界有 167 个国家和地区的 18 557 个网站可以使用。 台湾地区有许多学校已经应用了 Moodle 搭建了自己的网络教学平台。 Moodle 的中文翻译为“魔灯”,国内 也
随着微电子技术和信号分析处理技术的推广,数据采集系统得到广阔地应用,在工业的生产与控制中,运用数据采集系统可以采集实时的温度、湿度、电压、电流、压力、流量等诸多工业参数,在将这些模拟信号转换成数字信号的同时并进行相应的数据处理,将所得的结果,以不同的反方式反馈给用户和控制系统,在科学研究上,数据采集系统可以为我们提供大量的帮助,成为探索科学奥秘的重要途径。 目前,数据采集应用在方方面面,它已渗透
成品迷你型 音响 我们这里所指的市场成品迷你型音响是专指供笔记本电脑、 MP3 等电子设备使用的,采用 标准耳机接口的小型音响,而非家庭影院、剧场等使用的,具有复杂接口的大型音响。 这种设计由于采用了具有高度质量保证的商业化产品,充分保证了系统发音的质量。 6 由于商业化产品具有高度统一的生产标准,使得发声系统可以具备极高的灵活性和可替换性,而且采用商业化的产品也使系统整体的美观度得到极大提高。
图 4 机组工作流程图 图 5 恒水位电磁阀控制原理 电磁阀 PID调节器 伺服放 大器 软水 水箱 差压变送器 给定值 软水 水 箱水位 开始 1变频启动 1变频运行 1电机工频运行f=50HZ。 1电机 频率f=50HZ。 1工频和 2交换 1工频停机, 2变频运行 2工频运行, 1变频运行 2电机 f﹦ fmin,压力 p≤ pk 2电机 f≤ fmin,压力 p≥ pk N Y Y N
高水位) ,选择全自动洗衣机运行模式手动模式,选择所需要的的洗涤时间和洗涤次数,按下启动按钮,水位会根据衣服重量自动选择水位。 2) 当选择洗涤次数为一次,洗涤时间为二十五秒时,程序启动, 05 秒开始进水 ,5秒后停止进水。 3) 6 秒后开始洗涤。 4) 洗涤时,正转 5 秒后浸泡,浸泡 2 秒后开始反转洗涤,反转洗涤 5 秒后浸泡,浸泡 2 秒。 5) 如此循环 1 次,总共 14