C语言数字图像处理---1.1图像的像素格式与图像读写

前言

        本专栏面向所有希望或有兴趣从事数字图像处理工作、学习或研究的朋友,不懂MATLAB和OPENCV没关系,仅需要基础的C语言知识,便可以通过本专栏内容轻松入门数字图像处理方向。目前市面上的数字图像处理书籍种类繁多,往往令人眼花缭乱,不知从何而起,复杂的第三方库调用,也导致了大多数初学者苦不堪言,而本专栏内容将从繁就简,另辟蹊径,以简约明了的逻辑,无任何第三方库依赖的C语言代码,来帮助大家快速掌握,轻松入门, 这也是本专栏和作者的初衷。同时,本专栏内容的逻辑方法,并不依赖于C语言,大家也可以用同样的逻辑方法去学习其他语言的图像处理,这就是掌握学习方法的重要性。

图像像素格式

        对于初学者,往往搞不清楚,一个像素究竟是什么?针对数字图像中的位图而言,一张宽度W,高度H的图像是由W×H个像素点来表示的,每个像素都包含了各自的颜色信息,所以我们的感官才会感知到不同图像各自是什么颜色的。要有颜色的概念,我们就要先了解色彩的深度。

        色彩深度就是色彩的位数,代表了一个像素用多少个二进制位来表示颜色信息。常用的色彩深度有1位(也就是单色),2位(也就是4色CGA),4位(也就是16色VGA),8位(也就是256色),16位(增强色)以及24位和32位真彩色等。听起来对于初学者好像不容易理解,我们这里以黑白二值图、灰度图和24/32位彩色图四类来做说明。

        黑白二值单色图像:图像中每个像素点非黑即白,对于像素值非0即1,每一个像素用一个数值也就是1个二进制位即可表示(一个二进制位代表0或者1),因此,这种黑白二值图也可以叫作单色图,黑白二值图像举例如下图Fig.1所示。

猜你喜欢

转载自blog.csdn.net/Trent1985/article/details/103629059