跳到主要内容

灰度化与二值化

灰度处理

cvtColor 函数

cvtColor(src,dst,code,dstCn)
code:颜色空间转换代码 cv2.BGR2GRAY
使用的方法是将彩色图像的RGB三个通道的值加权平均,得到一个灰度值,再用灰度值替换RGB三个通道的值
如果dstCn不为0,则输出图像的通道数将被设置为dstCn,否则与输入图像的通道数相同
公式:0.299R+0.587G+0.114*B = gray

应用场景

  • 图像处理
  • 计算机视觉
  • 人脸识别
// 将BGR格式的图像转换为灰度图
Mat src;
Mat gray;
cvtColor(img, gray, CV_BGR2GRAY);

图像二值化处理

threshold 函数

threshold(src,dst,阈值,分配的值,阈值处理模式选择) 图像二值化处理,是将灰度图像上的像素点转化为黑白两种颜色的处理方法,在opencv中使用 threshold 函数可以实现全局阈值二值化。
阈值:设置的阈值,分界线
分配的值:如果一个像素的灰度值,大于或者小于阈值,会被赋予分配的值
阈值处理模式选择:THRESH_GRAY,THRESH_BINARY_INV,THRESH_TRUNC,THRESH_TOZERO,THRESH_TOZERO_INV
BINARY:二值化
BINARY_INV:二值化反转
THRESH_TRUNC:截断
THRESH_TOZERO:与上类似