文章目录
- 前言
- 一、灰度图
- 二、二值图
前言
使用OpenCVSharp生成图片的灰度图和二值图
.Net 8.0版本,依赖OpenCvSharp4和OpenCvSharp4.runtime.win组件。
原图:
提示:以下是本篇文章正文内容,下面案例可供参考
一、灰度图
/// <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();}
二、二值图
/// <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);}