2014-12-08 7 views
5

mam spisać kod pokazujący błąd i nie mA coraz to: Proszę o pomoc: Jego pokazując mata nie jest krotką numeryczna:mata nie jest krotką numeryczna: error 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 

Odpowiedz

10

Dostałem odpowiedź ja: cv2.threshold powraca dwie wartości i dodając dodatkową zmienną na początku prostuje błąd jak podano poniżej, jak ja w capture.read()

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

powinno być:

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

^^ ah, tak. zwraca również wartość progową (w przypadku, gdy używasz otsu) – berak

1

_ thresholdImage = cv2.threshold (differenceImage, 25255, cv2.THRESH_BINARY)

może być również

thresholdImage = cv2.threshold(differenceImage,25,255,cv2.THRESH_BINARY)**[1]** 
Powiązane problemy