2016-05-18 20 views
0

ich diesen Fehler:OpenCV Canny-Kantenerkennung Python

OpenCV Error: Unsupported format or combination of formats() in unknown function, file C:\slave\WinInstallerMegaPack\src\opencv\modules\imgproc\src\canny.cpp, line 67 Traceback (most recent call last): edges= cv2.Canny(frame,100,100) cv2.error : C:\ slave\WinInstallerMegaPack\srx\opencv\modules\imgproc\src\canny.cpp:67: error: (-210)

Wenn ich diesen Code ausführen:

import cv2 
import numpy as np 

cap = cv2.VideoCapture(0) 

while(1): 
    _, frame = cap.read()  
    cv2.imshow('Original',frame) 
    edges = cv2.Canny(frame,100,100) 
    cv2.imshow('Edges',edges) 
    k = cv2.waitKey(5) & 0xFF 
    if k == 27: 
     break 

cv2.destroyAllWindows() 
cap.release() 
+0

Bitte ich brauche die Informationen, es ist dringend! danke – TrikiAmine

+0

'Frame' muss Graustufen sein. Verwenden Sie 'cv2.cvtColor (... cv2.COLOR_BGR2GRAY)', bevor Sie Canny anrufen – Miki

+0

vielen Dank !! perfekt ! – TrikiAmine

Antwort

0

Canny benötigen ein Graustufenbild als Eingabe, aber Ihr frame ist ein 3-Kanal (BGR) Bild. Sie müssen es konvertieren, bevor es zu Canny in Graustufen vorbei:

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
edges = cv2.Canny(gray, 100, 100) 

Als Nebenbemerkung, denken Sie daran, dass Canny Schwellenwerte für die Hysterese verwendet werden, so dass Sie die first_threshold so etwas wie [0.25 - 0.5] * second_threshold

einstellen möchten
edges = cv2.Canny(gray, 100, 200)