我正在使用 opencv 从我的相机中裁剪人脸。然后我用 caffe 来预测图像属于男性还是女性。我有一个从静态图像加载图像的原始代码。但是,我想使用相机中的图像。这是caffe中的原始代码
model = caffe.Classifier(...)
image_path = './static_image.jpg'
input_image = caffe.io.load_image(image_path )
prediction =model.predict([input_image])
现在,我将使用 opencv 捕获帧并调用 predict 方法
val, image = cap.read()
image = cv2.resize(image, (320,240))
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5, minSize=(30,30))
for f in faces:
x,y,w,h = f
cv2.rectangle(image, (x,y), (x+w,y+h), (0,255,255))
face_image = gray[y:y+h, x:x+w]
resized_img = cv2.resize(face_image, (45,45))/255.
在 resized_image 之后,我会将其转换为 caffe 类型,例如函数
def format_frame(self,frame):
img = frame.astype(np.float32)/255.
img = img[...,::-1]
return img
但是,当我调用该函数时。我不知道什么是自我。你能帮我修一下吗?
谢谢你的帮助!