数字图像处理(一)2

1-1 颜色是什么?颜色的属性?

可见光为400nm(紫)-760nm(红)的电磁波

我国国家标准中,颜色的定义:颜色是光作用于人眼引起除形象以外的视觉特性

颜色的三个属性,称为色彩的三要素,即色相、亮度和纯度。

1-2 CIE?CIE色度图的理解?

CIE即国际发光照明委员会

色度图即为马蹄图,边界及内部表示可见光的色度值,连接光谱两端点的线称为紫色线

如何确定互补色?色光主波长?颜色区域?

CIE色度图上,以红绿蓝三种颜色混合的全部颜色为三角形所包围部分,不能覆盖所有色点,所以仅仅使用红绿蓝无法生成所有可见光的颜色

1-3 常用的色彩空间?

RGB、CMY/CMYK(主要为印刷用)、HSV/HSB、HSI/HSL、Lab、YUV/YCbCr(主要为电视用)颜色空间

2-1 图像的变换与编码

3-1 CBitmap类处理图像

3-2 GDI+处理数字图像

3-3 总结之CImage类

CImage类是基于GDI+的,但是这里为什么要讲归于GDI?
主要是基于这样的考虑: 在GDI+环境中,我们可以直接使用GDI+ ,没多少必要再使用CImage类。但是,如果再GDI环境中,我们要想使用GDI+,有点麻烦,还得加入头文件,加入启GDI+的代码和关闭GDI+的代码,显得太罗嗦了,GDI 的CBitmap 处理功能又有局限,只能处理BMP格式的图片。 怎么办?这时,我们便可使用CImage类,因为这个类本身封装了GDI+得使用环境,所以无需我们手动设置,简化了我们的操作。 同时,又可以利用GDI+中强大的图片处理功能,及可以简便的与CBitmap对象进行转换 ,大大方便了在GDI环境下,进行各种图片处理工作 。其实,将其称作 GDI/ GDI+ 混合编程,这样才更确切些。
CImage是MFC和ATL共享的新类,它能从外部磁盘中调入一个JPEG、GIF、BMP和PNG格式的图像文件加以显示,而且这些文件格式可以相互转换。
CImage是VC.NET中定义的一种MFC/ATL共享类,也是ATL的一种工具类,它提供增强型的(DDB和DIB)位图支持,可以装入、显示、转换和保存多种格式的图像文件,包括BMP、GIF、JPG、PNG、TIF等。CImage是一个独立的类,没有基类。(CImage类是基于GDI+的,从VC.NET起引进,VC 6.0中没有)ATL(Active Template Library,活动模板库)是一套基于模板的 C++ 类,用以简化小而快的 COM 对象的编写。为了在MFC程序中使用CImage类,必须包含ATL的图像头文件atlimage.h:(在VS08 SP1中不用包含)
#include <atlimage.h>
为什么引入CImage类?
CBitmap 类只能处理BMP格式的图片,非常受限。
CImage可以处理JPGE GIF BMP PNG多种格式图片,扩展了图片处理功能 且能与CBitmap 进行转换( 因为所载入的位图句柄都是HBITMAP,所以可相互转换),因此引入CImage类进行图像处理

 

4-1 图像的文件格式

BMP、GIF、PNG、JPEG,注意JPEG编解码问题(联想一下,之前做的jpeglib,见人行灯)

posted @ 2017-08-31 09:47  小辉爱吃素  阅读(369)  评论(0编辑  收藏  举报