Ir para conteúdo

Tiago Capelli

Members
  • Total de itens

    24
  • Registro em

  • Última visita

Tudo que Tiago Capelli postou

  1. Tiago Capelli

    Quais tecnologias eu preciso para fazer colocar mascaras em uma aplicacao web

    Ola Samuel, OpenCV é oque você precisa. https://opencv.org https://github.com/opencv/opencv/tree/master/data/haarcascades Tempo atras eu encontrei um artigo bem interessante espero que te ajude. eu o traduzi com google translate mas acho que da para entender bem: A detecção de rosto é coisa que você pode fazer com o OpenCV. Mas, usando essa funcionalidade básica, você pode sobrepor uma máscara sob o rosto dectado. Você deve colocar a máscara transparente após detectar o rosto no local em que ele se encaixa bem. Nesse caso, coloquei um óculos de sol sobre os olhos. Depois disso, localizo a posição da boca e coloco um charuto na boca. Então parece muito bom. Você pode fazer o mesmo facilmente seguindo o código python fornecido abaixo. Também funciona para vídeos. Python OpenCV Haar Cascade XML file Oculos de Sol, Transparent overlay Charutao,Transparent overlay import numpy as np import cv2 face_cascade = cv2.CascadeClassifier('frontalface_default.xml') specs_ori = cv2.imread('glass/glass.png', -1) cigar_ori = cv2.imread('mouth/cigar.png',-1) cap = cv2.VideoCapture(0) #webcame video # cap = cv2.VideoCapture('jj.mp4') #any Video file also cap.set(cv2.CAP_PROP_FPS, 30) def transparentOverlay(src, overlay, pos=(0, 0), scale=1): overlay = cv2.resize(overlay, (0, 0), fx=scale, fy=scale) h, w, _ = overlay.shape # Size of foreground rows, cols, _ = src.shape # Size of background Image y, x = pos[0], pos[1] # Position of foreground/overlay image # loop over all pixels and apply the blending equation for i in range(h): for j in range(w): if x + i >= rows or y + j >= cols: continue alpha = float(overlay[i][j][3] / 255.0) # read the alpha channel src[x + i][y + j] = alpha * overlay[i][j][:3] + (1 - alpha) * src[x + i][y + j] return src while 1: ret, img = cap.read() gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces=face_cascade.detectMultiScale(img, 1.2, 5, 0, (120, 120), (350, 350)) for (x, y, w, h) in faces: if h > 0 and w > 0: glass_symin = int(y + 1.5 * h / 5) glass_symax = int(y + 2.5 * h / 5) sh_glass = glass_symax - glass_symin cigar_symin = int(y + 4 * h / 6) cigar_symax = int(y + 5.5 * h / 6) sh_cigar = cigar_symax - cigar_symin face_glass_roi_color = img[glass_symin:glass_symax, x:x+w] face_cigar_roi_color = img[cigar_symin:cigar_symax, x:x+w] specs = cv2.resize(specs_ori, (w, sh_glass),interpolation=cv2.INTER_CUBIC) cigar= cv2.resize(cigar_ori, (w, sh_cigar),interpolation=cv2.INTER_CUBIC) transparentOverlay(face_glass_roi_color,specs) transparentOverlay(face_cigar_roi_color,cigar,(int(w/2),int(sh_cigar/2))) cv2.imshow('Thugs Life', img) k = cv2.waitKey(30) & 0xff if k == 27: cv2.imwrite('img.jpg', img) break cap.release() cv2.destroyAllWindows()
  2. Tiago Capelli

    Ler PDF em Python

    Ola Tr3eet, você ja tentou usar o Textract ? pip install textract import textract texto = textract.process('caminho/do/arquivo/pdf', method='pdfminer') te deixo a documentaçao. https://textract.readthedocs.io/en/stable/
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.