文章目录
前言
使用OpenCVSharp生成图片的灰度图和二值图
.Net 8.0版本,依赖OpenCvSharp4和OpenCvSharp4.runtime.win组件。
原图:
提示:以下是本篇文章正文内容,下面案例可供参考
一、灰度图
csharp
/// <summary>
/// 灰度图
/// </summary>
public static void GrayscaleImage()
{
// 加载彩色图像
Mat colorImage = Cv2.ImRead("C:\\xxx\\Image Test\\1.png");
// 创建一个新的Mat对象来保存灰度图像
Mat grayImage = new Mat();
// 将彩色图像转换为灰度图像
Cv2.CvtColor(colorImage, grayImage, ColorConversionCodes.BGR2GRAY);
// 保存灰度图像到文件
Cv2.ImWrite("path_to_save_gray_image.jpg", grayImage);
// 释放资源
colorImage.Dispose();
grayImage.Dispose();
}
二、二值图
csharp
/// <summary>
/// 二值图
/// </summary>
public static void BinaryImage()
{
Mat src = Cv2.ImRead("C:\\xxx\\Image Test\\1.png", ImreadModes.Color);
Mat grayImage = new Mat();
// 将彩色图像转换为灰度图像
Cv2.CvtColor(src, grayImage, ColorConversionCodes.BGR2GRAY);
// 创建输出图像
Mat dst = new Mat();
// 二值化,这里使用简单的阈值方法,你可以根据需要选择其他方法
Cv2.Threshold(grayImage, dst, 170, 255, ThresholdTypes.Binary);
// 保存二值化后的图像
Cv2.ImWrite("output.jpg", dst);
}