VC++数字图像处理

Visual C++数字图像处理广义地讲,凡是记录在纸介质上的、拍摄在底片和照片上的、显示在电视、投影仪和计算机屏幕上的所有具有视觉效果的画面都可以称为图像。根据图像记录方式的不同,图像可分为两大类:一类是模拟图像(Analog Image),另一类是数字图像(Digital Image)。模拟图像是通过某种物理量(光、电等)的强弱变化来记录图像上各点的亮度信息的,例如模拟电视图像;而数字图像则完全是用数字(即计算机存储的数据)来记录图像亮度信息的。
所谓数字图像处理(Digital Image Processing),就是指用数字计算机及其他相关的数字技术,对数字图像施加某种或某些运算和处理,从而达到某种预期的处理目的。随着数字技术和数字计算机技术的飞速发展,数字图像处理技术在近 20 多年的时间里,迅速发展成为一门独立的有强大生命力的学科,其应用领域十分广泛。
作为数字图像处理技术的实现环节,本书将在 Visual C++环境下介绍图像各种典型算法的编程实现。而作为一本书的开始,本章我们将介绍图像编程的基础知识,如数字图像的点阵数据、调板概念、BMP 文件结构以及设备无关位图(DIB)等,它是后面章节学习的基础。
1.1 图像、颜表和彩空间
1.1.1  图像
组成数字图像的基本单位是像素(Pixel),也就是说,数字图像是像素的集合。如图 1-1 所示,图中每个格点代表一个像素,该图是一个白背景下包含灰矩形的图像。
图 1-1  放大后的矩形图像
数字图像通常存放在计算机的
外存储器设备中,例如硬盘、光盘
等,在需要进行显示和处理时才被
调入内存的数组中。从本质上讲,图像数据在计算机内存或硬盘中是以字符型数据存在的,这与其他整型数据或者浮点型数据没有任何区别,都是一种数字表达符号,当把它在计算机屏幕上显示出来时,才是我们人眼看到的真正有意义的数字图像。普通的显示器屏幕也是由许多点
(像素)构成的,显示时,电子每次从左到右、从上到下进行扫描,为每个像素着,利用人眼的视觉暂留效应就可以显示出一屏完整的图像。比如,我们常说的屏幕分辨率为 1024?68,刷新率为 80Hz,意思是说屏幕上每行像素为 1024 个,共 768 行,而且每秒重复扫描 80 次。目前的显示设备的刷新率都在 80Hz 以上,一般屏幕刷新频率大于 80Hz 时,人眼感受不到屏幕刷新而产生的闪烁,这种显示器被称为位映像设备。所谓位映像,即是指一个二维的像素矩阵,而位图就是采用位映像方
法显示和存储的图像。一幅图像的显示就是将图像的像素映射到屏幕的像素上并显示一定的颜。
图 1-1 所示是一个灰度图像的例子,当一幅图像的像素由彩表示时就是我们通常所说的彩图像了。对于彩图像的表达,将在调板和彩空间两部分内容中谈到。
1.1.2  图像的矩阵表示
数字图像数据可以用矩阵来表示,因此可以采用矩阵理论和矩阵算法对数字图像进行分析和处理。最典型的例子是灰度图像,如图 1-2 所示。灰度图像的像素数据就是一个矩阵,矩阵的行对应图像的高(单位为像素),矩阵的列对应图像的宽(单位为像素),矩阵的元素对应图像的像素,矩阵元素的值就是像素的灰度值。
图 1-2  数字图像与图像矩阵
由于数字图像可以表示为矩阵的形式,所以在计算机数字图像处理程序中,通常用二维数组来存放图像数据,参见图 1-3。二维数组的行对应图像的高,二维数组的列对应图像的宽,二维数组的元素对应图像的像素,二维数组元素的值就是像素的灰度值。采用二维数组来存储数字图像,符合二维图像的行列特性,同时也便于程序的寻址操作,使得计算机图像编程十分方便。
图 1-3  数字图像与二维数组
1.1.3  颜表
图像的位图数据是一个二维数组(矩阵),矩阵的每一个元素对应了图像的一个像素,当保
存一幅图像时,不但要保存图像的位图数据矩阵,还要将每个像素的颜保存下来,颜的记录
是利用颜表来完成的。
颜表,也叫颜查表,是图像像素数据的颜索引表。以一个4 位图为例,则其颜表有 4 个表项,表中每一行记录一种颜的 R、G、B 值,这样,当表示一个像素的颜时,只需要指出该颜在第几行,即该颜在表中的索引值即可。假设该 4 位图的颜表如表 1- 1 所示,并假设该 4 位图大小为 8 行 8 列,其图像数据阵列如图 1-4 所示。
表 1-1  4位图的颜表
颜索引值
蓝成分绿成分红成分
0 0 0 0
1 255 0 0
2 0 255 0
3 0 0 255
图 1-4  4位图数据矩阵
该位图有 4 种颜(最多也只能有 4 种颜),对于位图矩阵中第 3 行第 4 列的像素,该像素的值为 2,则其颜由颜表第 3 行决定(索引值从 0 开始),该行的颜为绿(0,25  5,0)。为了简单起见,上面颜表的例子每一个记录只有 3 个分量——R、G、B,实际上,真正一幅 BMP 图像其颜表的每一个记录是由 4 个分量组成的,这在 1.2.1 节“BMP 文件结构”中有详细介绍。
有一个特例,对于真彩图像,每个像素占存储空间3 个字节(24 位),分别对应R、G、B 三个分量,每个像素的值已经将该像素的颜记录下来了,不再需要颜表,因此24 位真彩位图没有颜表。
1.1.4  彩空间
自然界中的所有颜都可以由红、绿、蓝(R、G、B)三种颜合成,数字图像也是如此。针对红(
绿/蓝)分量的多少,人为地划分为 0~255 共 256 个等级,0 表示不含红(绿/蓝)成分,255 表示含有100%红(绿/蓝)成分。根据红、绿、蓝各种不同的组合就能表示256?  56?56 种颜,例如一个像素,当它的红、绿、蓝成分分别为 255、0、255 时显示为紫。而对于灰度图像的像素,该像素的红、绿、蓝成分是相等的,只不过随着这三个分量数值的增大,像素颜从黑变成白。
从上面介绍可知,彩数字图像可以由 RGB 彩空间表示。彩空间是用来表示彩的数学
模型,又被称为彩模型。RGB 彩空间是最常用的一种彩空间,但在计算机系统中表达颜
信息的空间不止这一种,此处介绍 3 种最常用的彩空间。
1.RGB彩空间
几乎所有的彩成像设备和彩显示设备都采用 RGB(Red  / Green  / Blue,红绿蓝)三基,不仅如此,数字图像文件的常用存储形式,也以 RGB 三基为主,由 RGB 三基为坐标形成的空
间称为 RGB 彩空间。
根据度学原理,自然界的各种颜光都可由红、绿、蓝三种颜的光按不同比例混合而成,
同样,自然界的各种颜光都可分解成红、绿、蓝三种颜光,所以将红、绿、蓝三种颜称为
三基。
图 1-5 所示是 RGB 三基合成其他颜的典型例子和 RGB 彩空间以及基间的关系。由图1-5(a)可以看出,青可以由绿和蓝合成,洋红(或品红)可以由红和蓝合成,黄可以由红和绿合成,而青、洋红和黄恰好是CMY(Cyan/Magenta/Yellow)三基。当RGB 三基以等比例或等量进行混合时,可以得到黑、灰或白,而采用不同比例进行混合时,就得到千变万化的颜。
洋红
(a)RGB三基混(b)RGB彩空间(c)RGB三基二维对称表示
图 1-5  三基原理图
在 RGB 彩空间中,任意彩光 L 的配方程参见公式(1-1)。
(1-1)
其中,、、为彩光 L 的三基分量或百分比。
2.CMY彩空间
自然界物体颜光的形成方式将物体划分为两类——发光物体和不发光物体,发光物体称为有源物体,不发光物体称为无源物体。有源物体是自身发出光波的物体,其颜由物体发出的光波决定,因此采用 RGB 三基相加模型和 RGB 彩空间描述。有源物体的例子包括彩电视、彩显示器等。
无源物体是不发出光波的物体,其颜由该物体吸收或反射哪些光波来决定,因此采用CM Y 三基相减模型和 CMY 彩空间描述。例如,在彩印刷和彩打印时,纸张是不能发射光线而只能反射光线的,因此,彩印刷机和彩打印机只能通过一些能够吸收特定光波和反射其他光波的油墨和颜料以及它们的不同比例的混合来印出千变万化的颜。

本文发布于:2024-09-22 17:38:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/89850.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   像素   颜色   彩色   物体   数据   数字图像
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议