图像的灰度化
想要改变某个像素点的颜色,我们只需要在一张图像的像素点矩阵中找到这个像素点的位置,比如第x行,第y列。
并且我们知道一个像素点的颜色由红,绿,蓝三个颜色变量表上,所以我们通过给这三个变量赋值,来改变这个像素点的颜色,比如改成绿色(0,255,0),则可以表示为(x,y,(R=0,G=255,B=0))
那么图像的灰度化代表着什么呢?
其实就是让像素点中的每一个像素点都满足下面的关系R=G=B,此时这个值就叫做灰度值。
注:单通道是灰度图,灰度图不一定是单通道的。
1.灰度化的方法
- 方法1:
- 灰度化后的R=(处理前的R + 处理前的G +处理前的B)/ 3
- 灰度化后的G=(处理前的R + 处理前的G +处理前的B)/ 3
- 灰度化后的B=(处理前的R + 处理前的G +处理前的B)/ 3
方法2:
黑色:
- 二值化后的R=0
- 二值化后的G=0
- 二值化后的B=0
- 白色:
- 二值化后的R=255
- 二值化后的G=255
- 二值化后的B=255
那么如何确定二值化后是变成0还是255呢?这就需要取一个阀值。
1.图像二值化的方法
方法1:
取阀值为127,也就是0-255的中数,让灰度值小于等于127变为0,大于127变为255。
这样的优点是计算量小,处理快。
缺点是均使用127作为阀值,可能对于不同类型的图片,会出现效果很差的情况。
方法2:
计算像素点矩阵中所有像素点的灰度值的平均值avg,然后使用avg代替方法1中的127。这样比方法1处理的效果要好一些。
方法3:
使用直方图方法(双峰法)来寻找二值化阀值,直方图是图像的重要特质。
直方图认为图像由前景和背景组成,在灰度直方图上,前景和背景都形成高峰,在双峰之间的最低谷处就是阀值所在。取到阀值之后再一一比较就可以了。
