OpenCV(二)矩阵的掩膜操作

本文介绍了如何使用OpenCV进行矩阵掩膜操作,以实现图像的对比度调整。首先,通过CV_Assert获取像素指针,接着利用saturate_cast确保像素值在0~255范围内。然后,分别展示了C++和API(filter2D)两种方式实现掩膜操作,以调整图像的对比度。掩膜Mat kernel定义了3x3的权重矩阵用于滤波。
摘要由CSDN通过智能技术生成

一、获取像素指针

  • CV_Assert(myImage.depth() == CV_8U);
  • Mat.ptr(int i=0) 获取像素矩阵的指针,索引i表示第几行,从0开始计行数。
    • ptr:指针
    • :指针类型
    • (int i=0):表示第几行,从0开始计行数
  • 获得当前行指针const uchar* current= myImage.ptr(row );
  • 获取当前像素点P(row, col)的像素值 p(row, col) =current[col]

二、像素范围处理saturate_cast

这个函数的功能是确保RGB值得范围在0~255之间

  • saturate_cast(-100),返回 0。
  • saturate_cast(288),返回255
  • saturate_cast(100),返回100

三、掩膜操作(实现图像对比度调整)

请添加图片描述

1、C++实现

int cols = (src.cols-1) * src.channels();    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值