def SaveImg(img, path, data):
#image, temp = Image.fromarray((img-bg+127).astype(np.uint8)), data['temps']
img=img.astype(np.uint8)
#y=127
#x=y.astype(np.uint8)
image, temp = Image.fromarray(img-bg), data['temps']
outFile=path+"/%s - %f-%f C.png" % (datetime.now().strftime("%Y-%m-%d %H.%M.%S"), temp[0], temp[1])
image.save(outFile)
print "Saving to", outFile
#time.sleep(5)
这是我从链接到计算机的相机保存图像的功能。 我得到的错误是:
TypeError: unsupported operand type(s) for -: 'int' and 'NoneType'
我无法理解问题所在。另外,我改变了我写的代码,函数的第一行应该是正确的,但它给了我同样的错误。
我尝试制作一些印刷品以查看错误但我看不到NoneType
的任何内容;当我打印时,我不会得到NoneType
或全部为零的数组。
答案 0 :(得分:0)
我在这行代码中看到了一个问题:
image,temp = Image.fromarray( img-bg ),data ['temps']
bg
显然是None
。您无法从某些内容中减去None
,因此“不支持的操作数类型”错误。
从您展示的代码中,无法推断bg
应该是什么,或者初始化或计算的位置。从名称我怀疑它是相机的视图,没有任何东西(即'背景')。从另一张图片中减去背景图片是有道理的,但如果没有背景图片则会失败...有没有办法查看其余代码?这来自一些开源项目吗?