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)

应用

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

加法常用来做图片的叠加

相关推荐
新智元8 分钟前
收手吧 GPT-5-Codex,外面全是 AI 编程智能体!
人工智能·openai
IT_陈寒13 分钟前
Java 性能优化:5个被低估的JVM参数让你的应用吞吐量提升50%
前端·人工智能·后端
阿里云云原生43 分钟前
阿里云基础设施 AI Tech Day AI 原生,智构未来——AI 原生架构与企业实践专场
人工智能
Memene摸鱼日报2 小时前
「Memene 摸鱼日报 2025.9.16」OpenAI 推出 GPT-5-Codex 编程模型,xAI 发布 Grok 4 Fast
人工智能·aigc
xiaohouzi1122332 小时前
OpenCV的cv2.VideoCapture如何加GStreamer后端
人工智能·opencv·计算机视觉
用户125205597082 小时前
解决Stable Diffusion WebUI训练嵌入式模型报错问题
人工智能
用户8356290780512 小时前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
Juchecar2 小时前
一文讲清 nn.LayerNorm 层归一化
人工智能
martinzh2 小时前
RAG系统大脑调教指南:模型选择、提示设计与质量控保一本通
人工智能
小关会打代码2 小时前
计算机视觉案例分享之答题卡识别
人工智能·计算机视觉