【发布时间】:2021-06-06 07:27:31
【问题描述】:
我的 DeepFace 实现
def verify(img, frame, model):
results= DeepFace.verify(img, frame, enforce_detection=False, model_name=model)
print("result: ", results)
verification= results['verified']
if verification is True:
print(model, "Successfully recognised. SCORE=")
return
return
我正在尝试将 PIL 图像而不是“*.jpg”传递给 verify() 函数,但它给出了错误
raise ValueError("Invalid arguments passed to verify function: ", instance)
ValueError: ('Invalid arguments passed to verify function: ', <PIL.Image.Image image mode=RGB size=160x160 at 0x7F4D5D03FBE0>)
我想问有没有什么方法可以直接传递 PIL Image 对象或图像数组而不事先将其保存到磁盘?
我正在传递的内容:
picture= "extracted_face_picture/single_face_picture.jpg"
picture= Image.open(picture)
picture= picture.resize((160,160))
frames_from_npz= "video_faces.npz"
frames= np.load(frames_from_npz)
frames= frames["arr_0"]
i=0
for frames_arr in frames:
frame= Image.fromarray(frames_arr)
df.verify(picture,frame, "Facenet")
print(i, "Above reuslts are for frame", frame_num)
i+= 1
请注意,我仍然可以通过将图像保存在目录中然后使用 imread() 读取它们来成功实现 DeepFace 我只想知道是否有其他方法无需将图像保存到磁盘
【问题讨论】:
标签: python image python-imaging-library verify