Projetos realizados
Projeto de Detecção de CFTV para identificação de pessoas.
Exemplo de detecção de face:
from __future__ import print_function
import sys
import numpy as np
import cv2 as cv
import MySQLdb
import pickle
import numpy as np
import glob
import logging
import logging.handlers
#import face_recognitionBanco=”casadb”
User=”user”
Passwrd=”senha”
Host=”192.168.1.211″def conexao():
resultado = 0try:
resultado = MySQLdb.connect(db=Banco,user=User, passwd=Passwrd, host=Host)
except:
print(“Erro ao conectar no Banco de dados”)
resultado = -1
return resultado
def Start_log():
print(“Start_log\n”);
global LOG_FILENAME
LOG_FILENAME = ‘/var/log/motion/cvimage.log’
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)
def Registra_log(info):
logging.debug(info)def imcrop(img, x1,y1,w,h):
y2 = y1+h
x2 = x1+w
if x1 < 0 or y1 < 0 or x2 > img.shape[1] or y2 > img.shape[0]:
img, x1, x2, y1, y2 = pad_img_to_fit_bbox(img, x1, x2, y1, y2)
return img[y1:y2, x1:x2, :]def pad_img_to_fit_bbox(img, x1, x2, y1, y2):
img = np.pad(img, ((np.abs(np.minimum(0, y1)), np.maximum(y2 – img.shape[0], 0)),
(np.abs(np.minimum(0, x1)), np.maximum(x2 – img.shape[1], 0)), (0,0)), mode=”constant”)
y1 += np.abs(np.minimum(0, y1))
y2 += np.abs(np.minimum(0, y1))
x1 += np.abs(np.minimum(0, x1))
x2 += np.abs(np.minimum(0, x1))
return img, x1, x2, y1, y2def GravaReg(file,x,y,a,h):
print(“Gravou arquiv\n”)
con = conexao()
cursor = con.cursor()
sql= “insert into eventoCam (arquivo,x,y,a,h) values (‘%s’,%d,%d,%d,%d)” %(file,x,y,a,h)
print(sql)
try:
cursor.execute(sql)
con.commit()
print(“Registro Gravado”)
except MySQLdb as erro:
print(“Erro ao Executar SQL”, erro)
#con.closedef Setup():
print(“Iniciou setup\n”)
#Pega o nome do arquivo a ser analisado
global Arquivo
Arquivo = sys.argv[1]
print (“Arquivo definido:%s”,Arquivo)global face_classificador
face_classificador = cv.CascadeClassifier(“/projetos/python/cv/face.xml”)
global img
img = cv.imread(Arquivo)
Start_log()def main():
print(“Iniciou main\n”)
imagemCinza = cv.cvtColor(img, cv.COLOR_BGR2GRAY)facesDetectadas = face_classificador.detectMultiScale(imagemCinza, scaleFactor=1.5, minSize=(100,100))
for (x1,y1,w, h ) in facesDetectadas:
print(“Face:”,x1,y1)
GravaReg(Arquivo,x1,y1,w,h)
img2 = imcrop(img,x1,y1,w,h)
cv.imwrite(“face.png”,img2)
print(“Gravou imagem em face.png\n”)cv.destroyAllWindows()
print(“Finalizou\n”)#Parametriza o sistema
Setup()
#roda bloco principalmain()
Artigos em Python
Certificados
Com vários treinamentos realizados nesta linguagem.