嗨,我正在创建一个程序,用其他人的脸取代图像中的脸部.但是,我一直试图将新面孔插入原始的较大图像中.我已经研究了ROI和addWeight(需要图像大小相同),但我还没有找到一种方法在python中做到这一点.任何建议都很棒.我是opencv的新手.
我使用以下测试图像:
smaller_image:

larger_image:

这是我的代码到目前为止...其他样本的混合器:
import cv2
import cv2.cv as cv
import sys
import numpy
def detect(img, cascade):
rects = cascade.detectMultiScale(img, scaleFactor=1.1, minNeighbors=3, minSize=(10, 10), flags = cv.CV_HAAR_SCALE_IMAGE)
if len(rects) == 0:
return []
rects[:,2:] += rects[:,:2]
return rects
def draw_rects(img, rects, color):
for x1, y1, x2, y2 in rects:
cv2.rectangle(img, (x1, y1), (x2, y2), color, 2)
if __name__ == '__main__':
if len(sys.argv) != 2: ## Check for error in usage syntax
print "Usage : python faces.py <image_file>"
else:
img …Run Code Online (Sandbox Code Playgroud)