C++ opencv之像素操作之逻辑操作(bitwise_and,bitwise_xor,bitwise_or,bitwise_not)
文章目录
- 一、知识点
- 二、函数原型
- 1、按位与操作
- 2、按位或操作
- 3、按位异或操作
- 4、取反操作
- 5、绘制矩形框操作
- 三、代码
- 四、附图
- 1、按位与操作附图
- 2、按位或操作附图
- 3、按位异或操作附图
- 4、取反操作附图
这篇博客我们来学习像素操作之逻辑操作。
一、知识点
主要的知识点是:
对图像中的位操作:
- bitwise_and //按位与
- bitwise_xor //按位异或
- bitwise_or //按位或
取反操作:
- bitwise_not //取反
二、函数原型
1、按位与操作
bitwise_and(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray());//dst = src1 & src2
参数一:输入图片1
参数二:输入图片2
参数三:输出图片
2、按位或操作
void bitwise_or(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray());//dst = src1 | src2
参数一:输入图片1
参数二:输入图片2
参数三:输出图片
3、按位异或操作
void bitwise_xor(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray());//dst = src1 ^ src2
参数一:输入图片1
参数二:输入图片2
参数三:输出图片
4、取反操作
void bitwise_not(InputArray src, OutputArray dst,InputArray mask=noArray());//dst = ~src
参数一:输入图片
参数二:输出图片
5、绘制矩形框操作
rectangle(img2, Point(j,i), Point(j + img4.cols, i + img4.rows), Scalar(255, 255, 0), 2, 8);
参数:
参数一:输入图片
参数二:矩形左上角坐标
参数三:各个点坐标
参数四:颜色
参数五:线条宽度
参数六:线型
三、代码
我们来附一下我们的代码:
void QuickDemo::bitewise_Denmo(Mat &image)
{Mat m1 = Mat::zeros(Size(256, 256), CV_8UC3);Mat m2 = Mat::zeros(Size(256, 256), CV_8UC3);rectangle(m1, Rect(100, 100, 80, 80), Scalar(255, 255, 0), -1, LINE_8, 0);rectangle(m2, Rect(150, 150, 80, 80), Scalar(0, 255, 255), -1, LINE_8, 0);imshow("m1", m1);imshow("m2", m2);Mat dst ;//bitwise_or(m1, m2, dst); //按位或操作bitwise_and(m1, m2, dst); //按位与操作//bitwise_not(image, dst); //取反操作//bitwise_xor(m1, m2, dst); //按位异或操作imshow("像素位操作", dst);}
代码思路:
我们这代码是创建了m1、m2两个尺寸为(256,256)的8位uchar类型的3通道矩阵,然后用这两个矩阵进行按位与、按位或按位异或、取反操作的,然后用rectangle函数去在这个窗口里绘制矩形,对在两个窗口中绘制的矩形进行上述操作。下面看一下运行结果。
四、附图
1、按位与操作附图
2、按位或操作附图
3、按位异或操作附图
4、取反操作附图
这篇博客我们就学习像素操作之逻辑操作!
加油吧 阿超没有蛀牙!
C++ opencv之像素操作之逻辑操作(bitwise_and,bitwise_xor,bitwise_or,bitwise_not)相关推荐
- 第三章 Opencv图像像素操作
目录 1.像素 1-1.确定像素位置 1-2.获取指定像素的像素值 1-3.修改像素的BGR值 2.用numpy模块操作像素 2-1.创建图像 1.创建黑白图像 2.创建彩色图像 3.创建随机图像 2 ...
- C++Opencv图像像素操作
Mat对象与数学中的矩阵相似,也可以实现加减乘除. //像素值加法 Mat operator_demo1(Mat& image) {Mat dst;dst = image + Scalar(5 ...
- OpenCV Mat数据类型像素操作
转自:http://blog.csdn.net/skeeee/article/details/13297457 OpenCV图像像素操作及效率分析 在计算机视觉应用中,对于图像内容的读取分析是第一步, ...
- android都图片mat_计算机视觉 OpenCV Android | Mat像素操作(图像像素的读写、均值方差、算术、逻辑等运算、权重叠加、归一化等操作)...
本文目录 1. 像素读写 2. 图像通道与均值方差计算 3. 算术操作与调整图像的亮度和对比度 4. 基于权重的图像叠加 5. Mat的其他各种像素操作 1. 像素读写 Mat作为图像容器,其数据部分 ...
- 【OpenCV 4开发详解】两图像间的像素操作
本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...
- Python OpenCV像素操作
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 Python OpenCV像素操作 环 ...
- opencv实战2-修改保存图片、像素操作
1 加载修改保存图像 1.1 修改图像 opencv中 灰度图像由常量 CV_8U 表示 C++ 中的 unsigned char: 三通道图像由 常量 CV_8UC3 表示: 1.2 保存图像 #i ...
- OpenCV实战(4)——像素操作
OpenCV实战(4)--像素操作 0. 前言 1. 图像的基本组成 2. 访问像素值 2.1 修改图像像素 2.2 cv::Mat_ 模板类 2.3 完整代码示例 3. 用指针扫描图像 3.1 图像 ...
- OpenCV入门基础操作(二)----图像像素的处理
OpenCV入门基础操作(二)----图像像素的处理 像素处理 读取一个图像像素 修改像素值 代码案例 像素处理 读取一个图像像素 在读取图像的时候一般要用到如下的命令: 返回值=图像(位置参数), ...
最新文章
- Beginning IOS 7 Development Exploring the IOS SDK - Handling Basic Interface Fun
- java网络编程之TCP通讯
- 算法:删除数组中的重复项
- 中煤保险 公司举办“虎啸杯”保险知识竞赛活动
- Delphi中String与PAnsiChar转换
- Java中数据是如何存储
- linux tomcat守护_linux-非root用户运行tomcat(示例代码)
- 机器学习基础笔记总结
- bulk of the 用法_高考英语|10大词类用法考点详解
- 【报告分享】2020年创新报告-埃森哲.pdf(附下载链接)
- 在Emacs中使用git
- 吴恩达教授机器学习课程笔记【七】- Part 7 最优模型选择
- execution表达式里写多个条件
- win10误删的注册表能还原吗_教你手动还原Win10注册表?
- 犀牛云企业云网站:当我们在谈论网站建设的时候,我们在谈论什么?
- 小说阅读大全(安卓)最后一个绿色版。
- 携程硅谷人才见面会邀请你参加!
- 永不消逝的电波(四):从无线电角度揭秘定位劫持
- python编程工时计算_Python小项目——工时计算
- SpringBoot集成MyBatis(微服务)
热门文章
- Skleran-线性模型-普通最小二乘法-LinearRegression
- Go项目配置管理神器之viper使用详解
- 2021年9月国产数据库排行榜-墨天轮:达梦奋起直追紧逼OceanBase,openGauss反超PolarDB再升一位
- 如何制作win7 U盘安装盘
- 从又苦又累的销售工作到python程序员,我哭了
- css -moz_moz-border-radius(CSS属性)
- 隐函数求导(一元和二元)
- 文件安全检测--持续更新
- Linux—添加开机启动
- 大专学历计算机专业可以积分,持有大专紧缺急需专业可直接申请上海居住证积分?...