矩阵的掩膜操作实现图像对比度调整

本文介绍了如何利用OpenCV中的掩膜操作来调整图像的对比度。通过定义一个矩阵并应用特定公式,可以改变每个像素的值,从而增加图像的对比度。文章详细阐述了获取图像像素指针的方法、防止像素值越界的技术,以及实施对比度调整的掩膜操作公式。同时,展示了具体的3x3掩膜矩阵及其效果,并提供了相应的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

opencv中,掩膜操作是定义一个矩阵,然后根据这个矩阵重新计算每个像素的值,掩膜有如下用途

1,提取感兴趣区域

2,屏蔽作用

3,结构特征提取

4,特殊形状图像的制作



涉及到的知识点


什么是图像的对比度:对比度是指图像最亮和最暗之间的区域间的比率,比值越大,从黑到白的渐变层次就越多

色彩表现就越丰富。


1,获取图像像素指针

Mat.ptr<uchar>(int i=0) 获取像素矩阵的指针,索引i表示第几行,从0开始计行数,也就是返回对应像素行的行指针

const uchar*  current= myImage.ptr<uchar>(row ):获得当前行指针

p(row, col) =current[col] 获得当前像素点p(row,col)的像素值


2,防止处理像素值越界(确保RGB值的范围在0-255之间)

saturate_cast<uchar>(-100),返回 0

saturate_cast<uchar>(288),返回255

saturate_cast<uchar>(100),返回100


3,实现图像对比度调整掩膜操作的公式

I(i,j) = 5*I(i,j) - [I(i-1,j) + I(i+1,j) + I(i,j-1) + I(i,j+1)]

施加给像素的矩阵

Mat kernel = (Mat_<char>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);

下面给出比较形象的解释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值