图像处理与逻辑运算
逻辑推理:运用严谨的逻辑分析问题 #生活技巧# #学习技巧# #解决问题的思考技巧#
一. 图像加法
cv2.add(img1,img2) 图像矩阵相加,也可以使用Numpy : res=img1+img2
OpenCV 中的加法与 Numpy 的加法有所不同的。 OpenCV 的加法是一种饱和操作,而 Numpy 的加法是一种模操作。
例如,对于100+200,使用cv2.add()函数得到的是255,而使用Numpy 的加法得到的是300%256
cv2.addWeighted(img1,α ,img2, β,γ) 根据不同权重进行矩阵相加
dst = α · img1 + β · img2 + γ (其中α+β+γ = 1)
不同的是两幅图像的权重不同,会给人一种混合或者透明的感觉。
主要应用举例
去除“叠加性”噪音
生成图像叠加效果
注意:两幅图像的大小,类型必须一致
如果操作不同大小的两幅图像,可以通过前面学到的图像ROI进行操作,这样的话只要在较大的图中选择和较小图同样大小的感兴趣区域,就可以进行叠加了
import cv2 img1 = cv2.imread("F:/t.jpg") img2 = cv2.imread("F:/e.jpg") #获得较小图片的大小 rows,cols,channels = img2.shape #在较大的图上设置ROI区域 img11 = img1[0:rows,0:cols] #进行不同权重的相加 res = cv2.addWeighted(img11,0.7,img2,0.3,0) cv2.namedWindow("res",cv2.WINDOW_NORMAL) cv2.imshow("res",res) cv2.waitKey() cv2.destroyAllWindows()123456789101112131415
二. 逻辑运算
import cv2 import numpy as np # 画一个正方形 Rectangle = np.zeros((300,300),dtype="uint8") cv2.rectangle(Rectangle,(20,20),(280,280),255,-1) # 画一个圆 Circle = np.zeros((300,300),dtype="uint8") cv2.circle(Circle,(150,150),150,255,-1) #与,或,非,异或 and_img = cv2.bitwise_and(Rectangle,Circle) or_img = cv2.bitwise_or(Rectangle,Circle) not_img = cv2.bitwise_not(Circle) xor_img = cv2.bitwise_xor(Rectangle,Circle) cv2.imshow("and_img",and_img) cv2.imshow("or_img",or_img) cv2.imshow("not_img",not_img) cv2.imshow("xor_img",xor_img) cv2.waitKey() cv2.destroyAllWindows()
12345678910111213141516171819202122网址:图像处理与逻辑运算 https://www.yuejiaxmz.com/news/view/517029
相关内容
四数问题下逻辑运算符的注意事项MATLAB图像处理(包括图像类型转换)
新的课程标准:学习逻辑=生活逻辑+学科逻辑?
严密的逻辑=横向逻辑+纵向逻辑+金字塔结构
Python实现简单算法乘法:提升编程效率与逻辑思维
【宁莉娜】逻辑:生活视界的理性支点
禅宗大智慧与创新力的底层逻辑
学习的逻辑
卓越运营:美的简单高效的管理逻辑
在线ps图片处理 图片编辑器 照片处理