千家信息网

C++ 中怎么利用OpenCV实现像素操作

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章给大家分享的是有关C++ 中怎么利用OpenCV实现像素操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在源文件里新建项起名为
千家信息网最后更新 2026年11月02日C++ 中怎么利用OpenCV实现像素操作

本篇文章给大家分享的是有关C++ 中怎么利用OpenCV实现像素操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

在源文件里新建项起名为main

然后自己在上面引入iostream和opencv的头文件,写入main方法




加载显示图片

要做像素的操作我们首先要加载一张图片进来并显示出来,所以我们先写加载的代码

写完后我们先看一下运行效果

说明我们的图片加载成功了


灰度图

我们先把原来的加载的图片改为单通道的灰度图并显示出来,代码要写在cv::waitkey(0)上面.

显示出的效果


灰度图取反

先获取到Mat图像的高度和宽度,然后再通过循环遍历高度和宽度来获取到每个像素点的值,我们通过用255减去他的原值重新赋值给像素点.

获取像素点值的方法:

单通首灰度图用

Mat.at(row,col)

如果是RGB的图则用

Mat.at(row,col)[0]
Mat.at(row,col)[1]
Mat.at(row,col)[2]

代码如下:

当修改完后我们再重新输出一下看看效果

最左边是原图,中间的修改后的灰度图,最后面是通过计算后取返的图。


三通道的取反

接上面的例子,因为我们刚才用的是gray_src的灰度图,其只是单通道的数据,我们把原图进行取反操作用到了刚才上面说的Mat.at(row,col)[0],我们修改一下代码,用一个新的MAT来进行测试,并且加上判断图像的通道数

写完后看看这次输出的图像效果

可以看出单通道取反和三通道取反出来的效果是有点不太一样的。


取消掉某一颜色的效果

我们在上面的代码里面修改一下,取出src的值后分别为b , g ,r(b带表blue蓝色,g代表green绿色,r代表red红色)然后把某一颜色去掉,即给其赋值为0

将b(蓝色)设为0

效果如下:

将g(绿色)设为0

以上就是C++ 中怎么利用OpenCV实现像素操作,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

效果 像素 灰度 代码 图片 图像 通道 单通道 C++ 代表 原图 宽度 方法 更多 知识 篇文章 绿色 蓝色 面的 颜色 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 中关村互联网科技集团 中国互联网科技股 互联网科技与金融科技 互联网科技媒体 米客互联网科技 广西互联网科技公司 深圳艾佳互联网科技 上海电发互联网科技有限公司 广州慧亚互联网科技怎么样 世界互联网科技公司市值排名 工业互联网等科技实现智能化赋能 滨湖区互联网智能科技产品有哪些 山东子淼互联网科技有限公司 深圳互联网科技的发展 互联网与数字科技关系 世界互联网科技成果奖 福仕德教育科技互联网 第三届互联网大会安防黑科技 盐城市攀科互联网科技有限公司 善班互联网科技有限公司 亿人帮互联网科技 互联网科技股有哪些 开一家科技互联网公司需要多少钱 互联网方面的科技前沿 梅州GM互联网络科技有限公司 上海同邻互联网科技有限公司规模 互联网科技收购价值 悟空问答互联网科技 安徽零酒互联网科技有限公司
0