1、灰度化

C#+OpenCV基础(二)_灰度化二值化_灰度

/// <summary>
/// BGR图片转为灰度图片(只显示亮度不显示色彩)
/// </summary>
/// <param name="mat">图片</param>
public static Mat BGR2GRAY(Mat mat)
{
    Mat gray = new Mat();
    Cv2.CvtColor(mat, gray, ColorConversionCodes.BGR2GRAY);
    return gray;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
2、二值化(平均值做阈值)

C#+OpenCV基础(二)_灰度化二值化_灰度_02

/// <summary>
/// BGR图片转为二值灰度图片
/// </summary>
/// <param name="mat">图片</param>
public static Mat BGR2GRAYBinary(Mat mat)
{
    Mat gray = new Mat();
    Cv2.CvtColor(mat, gray, ColorConversionCodes.BGR2GRAY);  // 灰度图

    // 二值化
    Scalar scalar = Cv2.Mean(gray);                                      // 计算灰度图平均值
    Cv2.Threshold(gray, gray, scalar.Val0, 255, ThresholdTypes.Binary);  // 二值化
    return gray;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.