Python 3.x TypeError:+;的操作数类型不受支持:';int';和';非类型';同时添加两个图像

Python 3.x TypeError:+;的操作数类型不受支持:';int';和';非类型';同时添加两个图像,python-3.x,Python 3.x,OpenCV加法和Numpy加法之间存在差异。OpenCV加法是一种饱和运算,而Numpy加法是一种模运算 例:: 当您添加两个图像时,它将更加可见。OpenCV函数将提供更好的结果。所以最好始终坚持使用OpenCV函数 对于非类型,请尝试分别输出img1和img2 通过使用imshow使其中一个图像不存在,并且cv2.imread()返回None.1)那么,如何在opencv中添加两个图像?2)x=np.uint8([250])y=np.uint8([10])是否可以以这种方式导入图像?使用c

OpenCV加法和Numpy加法之间存在差异。OpenCV加法是一种饱和运算,而Numpy加法是一种模运算

例::

当您添加两个图像时,它将更加可见。OpenCV函数将提供更好的结果。所以最好始终坚持使用OpenCV函数

对于非类型,请尝试分别输出img1和img2
通过使用
imshow

使其中一个图像不存在,并且
cv2.imread()
返回
None
.1)那么,如何在opencv中添加两个图像?2)x=np.uint8([250])y=np.uint8([10])是否可以以这种方式导入图像?使用
cv2.add(img1,img2)
添加图像,我不尝试导入图像。请进一步阅读关于numpy:)我只是展示了numpy数组加法是如何实现我在回答中提到的模加法的。如果您尝试添加问题中的图像,您将无法获得所需的结果。希望对您有所帮助:)对于您的
uint8
的clarification范围是0-255,因此我们得到一个模运算。当您使用imread()读取图像时,返回数据类型是
img.dtype
is
np.uint(8)
我尝试过了。我得到了错误..cv2.error Message=C:\projects\opencv python\opencv\modules\core\src\arithm.cpp:659:error:(-209)该操作既不是“数组操作数组”(其中数组具有相同大小和相同数量的通道),也不是“数组操作标量”,也不是函数cv::arithm_op中的“标量操作数组”
import cv2
import numpy as np

img1=cv2.imread('3.jpg')
img2=cv2.imread('4.jpg')

add = img1 + img2

cv2.imshow('add', add)
cv2.waitKey(0)
cv2.destroyAllWindows
 x = np.uint8([250])
 y = np.uint8([10])
 print cv2.add(x,y) # 250+10 = 260 => 255
 [[255]]
 print x+y          # 250+10 = 260 % 256 = 4
 [4]