图像的灰度化

想要改变某个像素点的颜色,我们只需要在一张图像的像素点矩阵中找到这个像素点的位置,比如第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 = 处理前的R 0.3+ 处理前的G 0.59 +处理前的B * 0.11
    • 灰度化后的G = 处理前的R 0.3+ 处理前的G 0.59 +处理前的B * 0.11
    • 灰度化后的B = 处理前的R 0.3+ 处理前的G 0.59 +处理前的B * 0.11

      图像的二值化

      图像的二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0(黑色)或者255(白色),也就是让整个图像呈现只有黑和白的效果。在灰度化的图像中,灰度值的取值范围为0-255,在二值化后的图像中的灰度值范围是0或者255,即二值图像的每个像素只有两种取值:要么纯黑,要么纯白。
      二值化可以算是灰度图的一种特殊形式。
  • 黑色:

    • 二值化后的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:
使用直方图方法(双峰法)来寻找二值化阀值,直方图是图像的重要特质。
直方图认为图像由前景和背景组成,在灰度直方图上,前景和背景都形成高峰,在双峰之间的最低谷处就是阀值所在。取到阀值之后再一一比较就可以了。