Python openCV con Sqlite
Publicado por Arturo (1 intervención) el 01/12/2019 23:10:56
Buenas tardes, estoy realizando un programa que se encargue de capturar los rostros de una persona y almacenarlos en una base de datos sqlite. la idea es que al correr el programa este active la cámara y muestre que identifica el rostro y lo asocia con una placa de auto.
El problema que tengo es al momento de hacer el insert dentro de la base de datos ya que cuando ejecuto elprograma me manda el siguiente error
Traceback (most recent call last):
File "c:/Users/Artur/Desktop/Detector_de_Rostros/DatosRostros.py", line 49, in <module>
insertOrUpdate(Id,name,placa)
File "c:/Users/Artur/Desktop/Detector_de_Rostros/DatosRostros.py", line 39, in insertOrUpdate
conn.execute(cmd)
sqlite3.OperationalError: no such column: Arturo
alguna sugerencia o consejo de como solucionarlo? en seguida dejo mi código
gracias!
El problema que tengo es al momento de hacer el insert dentro de la base de datos ya que cuando ejecuto elprograma me manda el siguiente error
Traceback (most recent call last):
File "c:/Users/Artur/Desktop/Detector_de_Rostros/DatosRostros.py", line 49, in <module>
insertOrUpdate(Id,name,placa)
File "c:/Users/Artur/Desktop/Detector_de_Rostros/DatosRostros.py", line 39, in insertOrUpdate
conn.execute(cmd)
sqlite3.OperationalError: no such column: Arturo
alguna sugerencia o consejo de como solucionarlo? en seguida dejo mi código
gracias!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import cv2
import numpy as np
import sqlite3
faceDetect = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
cam = cv2.VideoCapture(0)
def insertOrUpdate(Id, Nombres, Placas ):
conn = sqlite3.connect("USUARIOS.db")
cmd = "SELECT * FROM Personas WHERE Id = " + str(Id)
cursor = conn.execute(cmd).fetchall()
isRecordExist = 0
for row in cursor:
isRecordExist = 1
if(isRecordExist==1):
cmd = "UPDATE Personas set Nombres= " + str(Nombres) + "WHERE ID = " + str(Id)
cmd = "UPDATE Personas set Placa= " + str(Placas) + "WHERE ID = " + str(Id)
else:
cmd = "INSERT INTO personas(Id,Nombres,Placas) VALUES(?,?),(" + str(Id) + "," + str(Nombres) + "," + str(Placas) + ")"
conn.execute(cmd)
conn.commit()
conn.close()
#------------------------------------------------------------------------------------------------
Id = input("Ingresa el ID: ")
name = input("Ingresa el nombre: ")
placa = input("Ingresa la placa del auto: ")
insertOrUpdate(Id,name,placa)
sampleNum = 0
while True:
ret , img = cam.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = faceDetect.detectMultiScale(gray,1.3,5)
for(x,y,w,h) in faces:
sampleNum = sampleNum +1
cv2.imwrite("C:/Users/Artur/Desktop/Detector_de_Rostros/Fotos/" + str(Id) + "." + str(sampleNum) + ".jpg" , gray[y:y+h, x:x+w])
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
cv2.waitKey(100)
cv2.imshow("Face",img)
cv2.waitKey(1)
if sampleNum > 20:
break
cam.release()
cv2.destroyAllWindows()
Valora esta pregunta


0