Привет, друзья, я только сейчас установил opencv и проверяю базовый код, но это приводит к ошибке. Код такой :

#python-3.x

#python-3.x

Вопрос:

 import numpy as np
import cv2

cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Our operations on the frame come here
    gray = cv2.cvtColor('frame', cv2.COLOR_BGR2GRAY)

    # Display the resulting frame
    cv2.imshow('frame',frame)
    cv2.imshow('gray',gray)
    if cv2.waitKey(20) amp; 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()`

Traceback (most recent call last):
  File "C:UsersKouissiDesktopcamera-testcamera_test.py", line 11, in <module>
    gray = cv2.cvtColor('frame', cv2.COLOR_BGR2GRAY)
TypeError: Expected cv::UMat for argument 'src'
  

Ответ №1:

Вам нужно изменить:

 gray = cv2.cvtColor('frame', cv2.COLOR_BGR2GRAY)
  

Для:

 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
  

В данном случае переменная frame представляет собой массив numpy.

Комментарии:

1. Другая ошибка: трассировка (последний вызов last): File «C:UsersKouissiDesktopcamera-testcamera_test.py «, строка 14, в <module> cv2.imshow(‘frame’, рамка) cv2.ошибка: OpenCV(4.0.0) C:projectsopencv-pythonopencvmoduleshighguisrcwindow.cpp:625: ошибка: (-2: Неопределенная ошибка) Функция не реализована. Перестройте библиотеку с поддержкой Windows, GTK 2.x или Cocoa. Если вы используете Ubuntu или Debian, установите libgtk2.0-dev и pkg-config, затем повторно запустите cmake или настройте скрипт в функции ‘cvShowImage’

2. @MOHAMEDKOUISSI Я раньше не видел этой ошибки, но, похоже, вам нужно установить дополнительную программную библиотеку под названием libgtk2.0-dev. Какую операционную систему вы используете … например, iOS, Windows, Ubuntu и т.д. …?

3. Windows — это операционная система