我想从其他图片中减去一张图片。
这是我到目前为止所做的。
import cv2
import numpy as np
img1 = cv2.imread('template.jpg',0)
img2 = cv2.imread('shot_one.jpg',0)
img3 = img1-img2
cv2.imshow('result',img3)
cv2.waitKey()
cv2.destroyAllWindows()
我收到错误说:
Traceback (most recent call last):
File "E:/Python Programme/ATSS/subtra.py", line 7, in <module>
img3 = img1-img2
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
我已关注this question。有什么建议吗?
答案 0 :(得分:0)
错误行unsupported operand type(s) for -: 'NoneType' and 'int'
清楚地指出,您的一个图片路径无效,Opencv不会抛出错误,当路径无效时,它会返回None
对象。< / p>
import cv2
import numpy as np
img1 = cv2.imread('template.jpg',0)
img2 = cv2.imread('shot_one.jpg',0)
if img1 and img2:
img3 = img1-img2
cv2.imshow('result',img3)
cv2.waitKey()
cv2.destroyAllWindows()
else:
print "Sorry the images weren't loaded properly."
答案 1 :(得分:0)
您确定igraph0
和img1
的尺寸相同吗?如果不是,则不定义矩阵减法并且会引发错误。