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

1、灰度化

/// <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;
}

2、二值化(平均值做阈值)

/// <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;
}
posted @ 2024-07-10 16:13  ꧁执笔小白꧂  阅读(114)  评论(0编辑  收藏  举报