Ansvarsfraskrivelse: stor openCV-noob
Traceback (siste anrop sist):
Fil "lanes2.py", linje 22, i
canny = canny(lane_image)
Fil "lanes2.py", linje 5, i canny
grå = cv2.cvtColor(imgUMat, cv2.COLOR_RGB2GRAY)
TypeError: Expected cv::UMat for argument 'src'
Hva er det egentlig 'src' refererer til?
src
er det første argumentet til cv2.cvtColor
.
Feilen du får skyldes at det ikke er riktig form. cv2.Umat()
er funksjonelt ekvivalent med np.float32()
, så den siste kodelinjen din skal lyde:
grå = (np.float32(imgUMat), cv2.COLOR_RGB2GRAY)
gray = cv2.cvtColor(cv2.UMat(imgUMat), cv2.COLOR_RGB2GRAY)
UMat er en del av Transparent API (TAPI) som bidrar til å skrive én kode for CPU- og OpenCL-implementeringene.
Er canny
din egen funksjon? Bruker du Canny fra OpenCV i den? Hvis ja, sjekk om du gir Canny
et passende argument - det første Canny
-argumentet bør oppfylle følgende kriterier:
<type 'type 'numpy.ndarray'>
dtype('uint8')
form
skal være 2-tupel
av int
(tupel
inneholder nøyaktig 2 heltall)Du kan sjekke det ved å skrive ut henholdsvis
type(variable_name)
variable_name.dtype
variable_name.shape
Erstatt variable_name
med navnet på variabelen du oppgir som første argument til Canny
.