.Net OpenCVSharp生成灰度图和二值图

文章目录


前言

使用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);

 }
相关推荐
猪脚踏浪7 分钟前
open webui 在docker容器里跑,并且是在内网断绝互联网的环境下。生成ppt
人工智能
海边捡石子17 分钟前
FreeSWITCH 入门:把电话系统接入语音客服机器人
人工智能·后端
桃西西呀33 分钟前
我把网关限流配置成每秒 100 请求,大促一来照样被打挂,还把别人也拖垮了
人工智能·llm·ai编程
武子康42 分钟前
Agent 偏好记忆怎样确认写入:范围、版本与撤销的一个最小例
人工智能·后端·agent
王中阳Go1 小时前
质保期第 90 天我翻了一遍日志目录:交付后真正会坏的 3 处
人工智能·后端·agent
桃西西呀2 小时前
我把整本接口文档塞进 system prompt,前 3 轮答得准,第 8 轮开始胡说,账单还翻了 4 倍
人工智能·llm·ai编程
天天代码码天天2 小时前
给孩子打印一本“数字连点画”!连出小鱼、火箭,画完还能涂色
人工智能
SL_staff2 小时前
规则联动:给工厂装上‘自动化神经反射弧’——JVS·物联网平台规则引擎实战教程
java·人工智能·物联网
众壹新能源科技3 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
king13598745503 小时前
LFM2.5-24B-A2B Mac 本地部署:内存估算、GGUF/MLX 与 Python 预检脚本
人工智能·macos