本篇文章旨在通过详细的代码逐行注释,介绍如何分别使用 C/C++/Python 对彩色图像做灰度化(最大值法、平均值法、加权平均值法)和二值化处理(平均值法、双峰法、OTSU法)。
原理解析
图像表示
数字图像通常采用矩阵表示。以一幅数字图像F左上角像素中心为坐标原点,一幅MxN的数字图像用矩阵表示为:
图像分类
根据描述像素的灰度以及颜色模式的不同,可将其分为灰度图像、二值图像、彩色图像。
二值图像(Binary Image)
二值图像,从名字即可猜出一二,它有两个值,0和1,0表示黑或背景,1表示白或前景。每个像素只需要1bit就可以完整存储信息。即图像上的每一个像素点的像素值只有两种可能的取值或灰度等级状态。如下图所示。
灰度图像(Grayscale Image)
灰度图像,是指每个像素的信息由一个量化的灰度来描述的图像,没有彩色信息。
每个像素通过一个颜色通道来表示灰度值。颜色深