基于OpenCvSharp的数字图像处理 - 图像彩色类型转换

创建项目  |  文件与显示  |  像素操作  |  图像彩色类型转换  |  模糊、平滑、去噪  |  锐化、边缘检测  |  二值化  |  形态学  |  位置变换  |  直方图  |  霍夫变换  |  图像优化  |  图像分割

完整示例项目

 

在计算机上存储的图像一般使用RGB彩色空间,但是在其他场合,我们可能需要其他的彩色空间。例如,在打印时,一般使用CMYK;在很多图像处理里,我们只需要用到图像的灰度信息,需要把图像转为灰度图;HSV空间是人眼更好理解的一个彩色空间,等等。

一、转为灰度图

Mat src = new Mat(img_lenna);
Mat result = src.CvtColor(ColorConversionCodes.BGR2GRAY);
result.SaveImage(img_result);

二、转为HSV彩色空间

Mat src = new Mat(img_green);
Mat result = src.CvtColor(ColorConversionCodes.BGR2HSV);
result.SaveImage(img_result);

Vec3b color = result.Get<Vec3b>(0, 0);
//H: color.Item0*2, S: color.Item1/255*100, V: color.Item2/255*100

在HSV空间里,H是0-360°,S是0-100%,V也是0-100%。由于一个字节只能表示256,360这个数无法表示,所以H为实际色调的一半,取值0-180。

三、反相

Mat src = new Mat(img_lenna, ImreadModes.Grayscale);
Mat result = new Mat();
Cv2.BitwiseNot(src, result);
result.SaveImage(img_result);

效果如下:

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值