error: (-215) scn == 3 || scn == 4 in function cvtColor

0

I'm totally lazy with raspberry and I'm trying to use opencv version 3.4.2 with python 3.5.2 on raspberry pi 3 using the camera itself for raspberry to run an example facial recognition code using the camera. In linux mint, the same code runs successfully. However, when I try to run on raspberry, it accuses error. Below the code:

import cv2
import numpy as np

camera = cv2.VideoCapture(0)
classificador = cv2.CascadeClassifier("/home/linux/Documentos/deteccao/cascades/haarcascade_frontalface_default.xml")
amostra = 1
numeroAmostras = 25
id = input('Digite seu identificador: ')
largura, altura = 220, 220
print('Capturando as faces...')

while (True):
    conectado, imagem = camera.read()

    imagemCinza = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY)
    facesDetectadas = classificador.detectMultiScale(imagemCinza, scaleFactor=1.5, minSize=(180, 180))
    for (x, y, l, a) in facesDetectadas:
        cv2.rectangle(imagem, (x, y), (x + l, y + a), (0, 0, 255), 2)
        if cv2.waitKey(1) & 0xFF == ord('p'):
            imagemFace = cv2.resize(imagemCinza[y:y + a, x:x + l], (largura, altura))
            cv2.imwrite("/home/linux/Documentos/reconhecimento/fotos/pessoa." + str(id) + "." + str(amostra) + ".jpg", imagemFace)
            print("[foto " + str(amostra) + " capturada com sucesso]")
            amostra += 1

    cv2.imshow("Face", imagem)

    #if cv2.waitKey(1) == ord ('q'):
    #    break

    if (amostra >= numeroAmostras + 1):
        break

print("Faces capturadas com sucesso")
camera.release()
cv2.destroyAllWindows()

And, here below, the error:

OpenCV Error: /Assertion failed (scn == 3 || scn == 4) in cvtColor, file /home/pi
/opencv-3.3.1/module/imgproc/src/color.cpp, line 11048
Traceback (most recent call last):
 File "captura.py", line 9, in <module>
  imagemCinza = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY)
cv2.error: /home/pi/opencv-3.3.1/module/imgproc/src/color.cpp:11048: error: 
(-215) scn == 3 || scn == 4 in function cvtColor
    
asked by anonymous 02.09.2018 / 05:58

0 answers