前提・実現したいこと
opencvを使って背景透過画像を背景画像の上に表示するプログラムを書きたいのですがどうしても背景透過の画像が読み込めません、コードで間違っているところがあれば教えてください、また他の方法があれば教えてください
###試したコード
import cv2
import matplotlib.pyplot as plt
import numpy as np
cascade_file=('/home/parallels/opencv/data/haarcascades/haarcascade_frontalface_alt2.xml')
cascade=cv2.CascadeClassifier(cascade_file)
img=cv2.imread('/home/parallels/darknet/data/person.jpg')
img_gray=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_list = cascade.detectMultiScale(img_gray, minSize=(150,150))
if len(face_list)==0:
print('Fail')
quit()
for (x,y,w,h) in face_list:
print("Coordinate of Face=", x, y, w, h)
print(x,y,w,h)
def clip_image(x,y):
global back
h, w, _ = fore.shape
back[y:y+h, x:x+w]=fore
fore=cv2.imread('/home/parallels/darknet/data/heart2.png' , cv2.IMREAD_UNCHANGED)
fore=cv2.resize(fore,(w,h))
back=img
y2=y+1100
clip_image(x,y2)
print(type(y))
plt.imshow(cv2.cvtColor(back, cv2.COLOR_BGR2RGB))
plt.show()
補足情報(FW/ツールのバージョンなど)
python opencv ubuntu
あなたの回答
tips
プレビュー