dlib人脸检测错误:不支持的图像类型,必须是8位灰度或RGB图像

时间:2018-02-13 10:25:45

标签: python image numpy face-detection dlib

我试图通过首先检测脸部然后调整图像大小来裁剪来自instagram头像的脸部。我正在读取已存储在数据帧中的所有图像,然后创建一个numpy数组。然后我正在运行一个正面检测器,它会返回一个对象,但是当我调用该对象时,它会返回我所指出的错误。我尝试只提供彩色图像作为输入但是没有工作也没有尝试,除了。这是代码:

 df = pd.read_csv('/home/instaurls2.csv')
img_width, img_height = 139, 139
confidence = 0.8
#graph = K.get_session().graph
data1 = np.array([io.imread(row[1]) for row in df.itertuples()])
#print(data1)
detector = dlib.get_frontal_face_detector()
print (detector)
dets=detector(data1,1) # **error arrives here**
print (dets)
output=None
for i, d in enumerate(dets):
    data1 = data1[d.top():d.bottom(), d.left():d.right()]
    data1 = resize(data1, (img_width, img_height))
    output = np.expand_dims(data1, axis=0)
print (output)

1 个答案:

答案 0 :(得分:1)

Opencv默认将图像读取为BGR。

您可以使用cv2阅读图像:

import cv2
cv2.imread(image_filepath)