У меня очень специфическая проблема с OpenCV 3 в cvtColor, и я пробовал предыдущие решения, но ни одно из них не работало - PullRequest
0 голосов
/ 27 декабря 2018

Я сталкиваюсь со следующей ошибкой:

File "rropcode.py", line 35, in <module>
imgHSV = cv2.cvtColor(entrada, cv2.COLOR_BGR2HSV)    
cv2.error: /home/pi/opencv-3.3.0/modules/imgproc/src/color.cpp:10705: error: (-215) (scn == 3 || scn == 4) && (depth == CV_8U || depth == CV_32F) in function cvtColor

Я уже пробовал другие решения этой темы, но ни одно из них не работает.

Вот мой код

import cv2  
import time  
import numpy as np  
import RPi.GPIO as gpio

Hmin = 42  
Hmax = 92  
Smin = 62  
Smax = 255  
Vmin = 63  
Vmax = 235  

rangeMin = np.array([Hmin, Smin, Vmin], np.uint8)  
rangeMax = np.array([Hmax, Smax, Vmax], np.uint8)  

minArea = 50  

cv2.namedWindow("Entrada")  
cv2.namedWindow("HSV")  
cv2.namedWindow("Thre")  
cv2.namedWindow("Erosao")  

width = 160  
height = 120  

capture = cv2.VideoCapture(0)  

if capture.isOpened():  
    capture.set(cv2.CV_CAP_PROP_FRAME_WIDTH, width)  
    capture.set(cv2.CV_CAP_PROP_FRAME_HEIGHT, height)  


while True:  
      ret, entrada = capture.read()  
       # I'M HAVING AN ISSUE IN THE NEXT LINE  
      **imgHSV = cv2.cvtColor(entrada, cv2.COLOR_BGR2HSV)**     
      imgThresh = cv2.inRange(imgHSV, rangeMin, rangeMax)  
      imgErode = cv2.erode(imgThresh, None, iterations = 3)  

Выделенная жирным шрифтом строка вызывает вышеуказанную ошибку.

1 Ответ

0 голосов
/ 27 декабря 2018

Это слишком долго для обработки в комментариях, поэтому я временно сделаю это здесь.Можете ли вы проверить этот код и сказать, видите ли вы изображение или какое из утверждений для печати вы видите?

import cv2  
import numpy as np  

capture = cv2.VideoCapture(0)  
if capture.isOpened():
    print("Camera openend")
    ret, img = capture.read()  
    if ret:
        print("Image read")
        cv2.imshow("img", img)    
        cv2.waitKey(0)
        cv2.destroyAllWindows()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...