vs中opencv如何实现掩膜_OpenCvSharp图像的修改和保存以及掩膜操作

本文介绍了如何在OpenCvSharp中进行图像颜色空间转换,如RGB转灰度,并展示了如何实现掩膜操作以增强图像对比度。通过Filter2D函数和指针操作修改像素值,分别实现图像亮度的增加和减少。
摘要由CSDN通过智能技术生成

一 :图像的颜色空间转换

在OpenCvSharp中颜色转换函数为:Cv2.CvtColor()

参数:

参数

说明

src:

源图像,8位无符号,16位无符号或单精度浮点

dst:

输出图像,具有与src相同的大小和深度

code:

颜色空间转换代码:(ColorConversionCodes)枚举类型

代码:

static void Main(string[] args)

{

Mat src = new Mat(@"C:\Users\whx\Desktop\opcvImage\s1.jpg ", ImreadModes.Color);

if (src == null) //上面的加载方式如果找不到指定的文件也会报错

{

Console.WriteLine("加载图像失败");

return;

}

Mat outImage = new Mat(); //声明一个容器,装载改变后的图像

//参数:1 原图矩阵容器 2:保存图像的矩阵容器 3:颜色转换通道(很多,查手册)

Cv2.CvtColor(src, outImage, ColorConversionCodes.RGB2GRAY); //转为灰度空间图像,

//参数:1 要保存图片的路径 2:图像的矩阵容器 ,(图片保存格式个根据自定义的后缀名)

Cv2.ImWrite(@"C:\Users\whx\Desktop\out.png", outImage);//保存到桌面

using (new Window("src", WindowMode.Normal, src))

using (new Window("out", WindowMode.Normal, outImage))

{

Cv2.WaitKey();

}

}

左边是源图像,右边是转为灰度空间的图像,保存路径在桌面。

转为灰度空间的类型在 OpenCvSharp 中的 ColorConversionCodes.RGB2GRAY 与 ColorConversionCodes.BRR2GRAY 都能实现,OpenCvSharp 加载进来的图像是哪一种?

代码

static void Main(string[] args)

{

#region

//自定义一张全红色的图片

Mat src = new Mat(100,100,MatType.CV_8UC3,new Scalar(0,0,255));

Vec3b vec3B = new Vec3b();

//获取第一个像素的三通道像素值

vec3B.Item0 = src.At(0, 0)[0];

vec3B.Item1 = src.At(0, 0)[1];

vec3B.Item2 = src.At(0, 0)[2];

Console.WriteLine("0 :"+vec3B.Item0); //控制台输出

Console.WriteLine("1 :"+vec3B.Item1);

Console.WriteLine("2 :"+vec3B.Item2);

using (new Window("src image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值