OpenCV教程:cv2图像逻辑运算

-------------OpenCV教程集合-------------

Python教程99:一起来初识OpenCV(一个跨平台的计算机视觉库)

OpenCV教程01:图像的操作(读取+显示+保存+属性+获取和修改像素值)

OpenCV教程02:图像处理系统1.0(翻转+形态学+滤波+缩放+旋转)

OpenCV教程03:绘制图形(线段、矩形、圆形、椭圆、多边形、箭头线)+水印文本

OpenCV教程04:结合pillow在图片上显示中文文字

OpenCV教程05:cv2.cvtColor颜色空间的相互转化

OpenCV教程06:图像通道的分离和合并+拼接+缩放剪裁+平移旋转+滤波+边缘检测

图像逻辑运算在OpenCV中通常指的是按位逻辑运算,这些运算包括AND、OR、XOR和NOT,它们在图像处理中主要用于创建蒙版、图像分割或组合图像等任务。以下是使用cv2.bitwise_and(), cv2.bitwise_or(), cv2.bitwise_xor(), 和 cv2.bitwise_not()函数的示例。

1.cv2.bitwise_and():此函数执行两个图像的按位AND运算,结果只保留两个输入图像中都存在的像素信息。

python 复制代码
# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
import cv2
import numpy as np

# 加载两个图像
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')

# 确保两个图像尺寸相同
assert img1.shape == img2.shape, "Images must have the same dimensions."

# 执行按位AND运算
bitwise_and = cv2.bitwise_and(img1, img2)

# 显示结果图像
cv2.imshow('Bitwise AND', bitwise_and)
cv2.waitKey(0)
cv2.destroyAllWindows()

2.cv2.bitwise_or():此函数执行两个图像的按位OR运算,结果保留两个输入图像中的所有像素信息。

python 复制代码
# 执行按位OR运算
bitwise_or = cv2.bitwise_or(img1, img2)

# 显示结果图像
cv2.imshow('Bitwise OR', bitwise_or)
cv2.waitKey(0)
cv2.destroyAllWindows()

3.cv2.bitwise_xor():此函数执行两个图像的按位XOR运算,结果保留两个输入图像中互斥的像素信息。

python 复制代码
# 执行按位XOR运算
bitwise_xor = cv2.bitwise_xor(img1, img2)

# 显示结果图像
cv2.imshow('Bitwise XOR', bitwise_xor)
cv2.waitKey(0)
cv2.destroyAllWindows()

4.cv2.bitwise_not():此函数执行图像的按位NOT运算,反转图像的每一个像素值。

python 复制代码
# 对img1执行按位NOT运算
bitwise_not = cv2.bitwise_not(img1)

# 显示结果图像
cv2.imshow('Bitwise NOT', bitwise_not)
cv2.waitKey(0)
cv2.destroyAllWindows()

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame

相关推荐
清水白石0082 分钟前
深入 Python 的底层世界:从 C 扩展到 ctypes 与 Cython 的本质差异全解析
c语言·python·neo4j
Amelia1111119 分钟前
day49
python
IT=>小脑虎27 分钟前
2026版 Python零基础小白学习知识点【基础版详解】
开发语言·python·学习
我想吃烤肉肉31 分钟前
Playwright中page.locator和Selenium中find_element区别
爬虫·python·测试工具·自动化
rabbit_pro35 分钟前
Java使用Mybatis-Plus封装动态数据源工具类
java·python·mybatis
Learner1 小时前
Python运算符
开发语言·python
一晌小贪欢1 小时前
Python 精确计算:告别浮点数陷阱,decimal 模块实战指南
开发语言·python·python入门·python3·python小数·python浮点数
空城雀1 小时前
python精通连续剧第一集:简单计算器
服务器·前端·python
斯特凡今天也很帅1 小时前
python测试SFTP连通性
开发语言·python·ftp