mat 不是数字元组:openCV 错误

新手上路,请多包涵

我已经写下了显示错误的代码,但我没有得到它:请帮助:它的显示垫不是数字元组:

 import cv
import cv2
capture = cv2.VideoCapture("j.3gp")

while(1):

    _, frame1 = capture.read()

    grayImage1 = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
    _, frame2 = capture.read()
    grayImage2 = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)
    differenceImage = cv2.absdiff(grayImage1,grayImage2)
    thresholdImage = cv2.threshold(differenceImage,25,255,cv2.THRESH_BINARY)
    cv2.imshow("Difference Image", differenceImage)
    cv2.imshow("threshold Image", thresholdImage)
    cv2.imshow("Image", frame1)
    k = cv2.waitKey(30) & 0xff

Error arising :
-----------------------------------------------------------------------------------------

Traceback (most recent call last):
  File "Desk.py", line 15, in <module>
    cv2.imshow("threshold Image", thresholdImage)
TypeError: mat is not a numerical tuple

原文由 user3218971 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
1 个回答

我自己得到了答案: cv2.threshold 返回两个值并在开始时添加一个额外的变量纠正错误,就像我在 capture.read() 中所做的一样

thresholdImage = cv2.threshold(differenceImage,25,255,cv2.THRESH_BINARY)

应该:

 _ ,thresholdImage = cv2.threshold(differenceImage,25,255,cv2.THRESH_BINARY)

原文由 user3218971 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题