.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);

 }
相关推荐
润乾软件2 分钟前
如何给已有报表系统增加 AI 语言查询能力——AI 赋能数据分析技术探讨与实践
人工智能·chatbi
微硬创新3 分钟前
不用换设备,也能接入智能系统:耐达讯自动化NY-B801网关的神奇功效
人工智能·网络协议·自动化·信息与通信
Elastic 中国社区官方博客4 分钟前
Elasticsearch:什么是向量数据库?
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·ai
LHX sir12 分钟前
MCP 协议是什么?HubPort 如何让设备被 AI 智能体调用
人工智能·物联网·ai智能体·mcp
jikemaoshiyanshi14 分钟前
AI 训练 GPU 利用率偏低,如何通过云上高性能存储优化成本?AWS 基于 I/O 瓶颈分层选型
人工智能·云计算·aws
欧特克_Glodon15 分钟前
OpenCV计算机视觉开发入门与实践<十三>:图像转换之灰度图、二值图
c++·人工智能·opencv·计算机视觉
IT_陈寒23 分钟前
Vite打包给我挖的这个坑,差点搞崩我的项目
前端·人工智能·后端
SelectDB技术团队28 分钟前
Apache Doris 与 StarRocks 深度对比:2026 年 OLAP 引擎选型指南
人工智能·apache·知识图谱
MindUp29 分钟前
Word 转 PPT 自动化实践:8 款 AI 生成工具的自然语言处理与排版效果横向评测
人工智能·word·powerpoint