【发布时间】:2021-05-24 07:19:22
【问题描述】:
我已使用 cv2 从上传的图像中检测到我的眼睛,但我想将图像粘贴到 cv2 检测到我的脸的位置。 View cv2 eye detection photo output here
但不是输出我眼睛周围的 cv2 矩形,我想用图像替换它。 有没有办法将图像粘贴到 cv2 检测到我眼睛的位置?
我的python脚本
import os
import numpy as np
import cv2
from os.path import join, dirname, realpath
from flask import Flask, render_template, request, redirect, url_for, abort
from werkzeug.utils import secure_filename
def upload_files():
uploaded_file = request.files['file']
filename = secure_filename(uploaded_file.filename)
if filename != '':
file_ext = os.path.splitext(filename)[1]
if file_ext not in app.config['UPLOAD_EXTENSIONS'] or \
file_ext != validate_image(uploaded_file.stream):
abort(400)
uploaded_file.save('new.png')
face_cascade = cv2.CascadeClassifier('/haarcascade_eye.xml')
eye_cascade = cv2.CascadeClassifier('/haarcascade_eye.xml')
img = cv2.imread('new.png')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
eyes = eye_cascade.detectMultiScale(roi_gray)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv2.imwrite("out.png", img)
请记住,上面的脚本会生成此photo output。我想删除矩形并使用 cv2 将图像粘贴到 cv2 检测到我的眼睛的位置。
【问题讨论】:
-
有点但不完全,我如何告诉 cv2 将图像粘贴到检测到我的眼睛的位置?
标签: python python-3.x cv2