opencv007 图像运算——加减乘除

今天学习图像处理的基础------加减乘除,总体来说比较好理解,不过生成的图片千奇百怪哈哈哈哈

opencv中图像的运算本质是矩阵的运算

加法

做加法之前要求两张图片形状,长宽,通道数完全一致

python 复制代码
cv2.add(img1, img2)

add的规则是两个图对应的元素相加,如果超过255,全部变成255

add还可以和单个数字运算

例如每个和100进行加法运算,超出255的数字,会被截断,相当于%256(0到255是256个数字)

进行加法运算后,图片的颜色改变了

python 复制代码
# 加法
import cv2
import numpy as np
img1 = cv2.imread("F:\est01\strong.jpg", 1)
img2 = cv2.imread("F:\est01\_202401small02210038.jpg", 1)
print(img1.shape)
print(img2.shape)
addimg = cv2.add(img1, img2)
cv2.imshow('addimg', addimg)
img3 = cv2.imread("F:\est01\savedele02.jpg", 1)
addimg2 = cv2.add(img3, 200)
cv2.imshow('add200', addimg2)
cv2.waitKey(0)
cv2.destroyAllWindows()

减法

与加法相似,减完之后小于0,变为0


当代大学生期末复习状态哈哈哈哈

python 复制代码
# 减法
import cv2
import numpy as np
img1 = cv2.imread("F:\est01\strong.jpg", 1)
img2 = cv2.imread("F:\est01\_202401small02210038.jpg", 1)
print(img1.shape)
print(img2.shape)
addimg = cv2.subtract(img1, img2)
cv2.imshow('subimg', addimg)
img3 = cv2.imread("F:\est01\savedele02.jpg", 1)
addimg2 = cv2.subtract(img3, 200)
cv2.imshow('sub200', addimg2)
saveadd = "F:\est01\savedele03.jpg"
cv2.imwrite(saveadd, addimg2)
cv2.waitKey(0)
cv2.destroyAllWindows()

乘法

和加法相似,不过更容易超过255,所以几乎全白了

python 复制代码
cv2.multiply(img1, img2)

除法

除法几乎全黑了

python 复制代码
cv2.divide(img1,img2)

应用

应用上来讲,乘除和减法应用较少,因为做出来的图片实在算不上好看哈哈哈

加法常用来做图片的叠加

相关推荐
Dxy12393102167 小时前
如何给AI提问:让机器高效理解你的需求
人工智能
少林码僧8 小时前
2.31 机器学习神器项目实战:如何在真实项目中应用XGBoost等算法
人工智能·python·算法·机器学习·ai·数据挖掘
钱彬 (Qian Bin)8 小时前
项目实践15—全球证件智能识别系统(切换为Qwen3-VL-8B-Instruct图文多模态大模型)
人工智能·算法·机器学习·多模态·全球证件识别
智航GIS8 小时前
10.4 Selenium:Web 自动化测试框架
前端·python·selenium·测试工具
没学上了8 小时前
CNNMNIST
人工智能·深度学习
jarreyer8 小时前
摄像头相关记录
python
宝贝儿好8 小时前
【强化学习】第六章:无模型控制:在轨MC控制、在轨时序差分学习(Sarsa)、离轨学习(Q-learning)
人工智能·python·深度学习·学习·机器学习·机器人
大、男人8 小时前
python之asynccontextmanager学习
开发语言·python·学习
智驱力人工智能9 小时前
守护流动的规则 基于视觉分析的穿越导流线区检测技术工程实践 交通路口导流区穿越实时预警技术 智慧交通部署指南
人工智能·opencv·安全·目标检测·计算机视觉·cnn·边缘计算
AI产品备案9 小时前
生成式人工智能大模型备案制度与发展要求
人工智能·深度学习·大模型备案·算法备案·大模型登记