opencv007 图像运算——加减乘除
2024-01-10 06:06:00
今天学习图像处理的基础——加减乘除,总体来说比较好理解,不过生成的图片千奇百怪哈哈哈哈
opencv中图像的运算本质是矩阵的运算
加法
做加法之前要求两张图片形状,长宽,通道数完全一致
cv2.add(img1, img2)
add的规则是两个图对应的元素相加,如果超过255,全部变成255?
add还可以和单个数字运算
例如每个和100进行加法运算,超出255的数字,会被截断,相当于%256(0到255是256个数字)
进行加法运算后,图片的颜色改变了
# 加法
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
# 减法
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,所以几乎全白了?
cv2.multiply(img1, img2)
?
除法?
?除法几乎全黑了
cv2.divide(img1,img2)
应用?
应用上来讲,乘除和减法应用较少,因为做出来的图片实在算不上好看哈哈哈
加法常用来做图片的叠加
?
文章来源:https://blog.csdn.net/yf743909/article/details/135431827
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!