如何使用opencv和dlib检测额头区域?

2024-09-24 22:31:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检测前额区域以便于研究。你知道吗

我试着把roi的宽度作为左眼最左端和右眼最右端之间的距离。这似乎是工作,就宽度而言,但当谈到高度,我需要一个解决方案,适用于所有人。注意,我不希望头发出现在我的投资回报率。我有一个高度的实现,但它并不适用于所有人。你知道吗

x = int((shape[21][0]+shape[22][0])/2)
y = int((shape[21][1]+shape[22][1])/2)
w = abs(shape[39][0]-shape[42][0])
h = abs(y-shape[29][1])

y_mid = int((y + (y - h)) / 2)
roi = image[y-h:y_mid,int(x-w/2):int(x+w/2)]

if(roi.shape[0] !=0 and roi.shape[1] != 0):
    roi = imutils.resize(roi, width=250, inter=cv2.INTER_CUBIC)
    cv2.imshow('ROI', roi)

cv2.rectangle(image,(int(x-w/2), int(y-h)), (int(x + w/2), y_mid), (0, 0, 255), 1)
cv2.imshow('Image', image)

Tags: image区域距离宽度高度abscv2int