计算矩形面和边缘屏幕之间的距离

时间:2017-01-13 12:54:07

标签: python opencv

我正在尝试实时识别面孔,我找到了两个python开源执行成功的文件。第一个文件创建多个文件夹,其中文件夹'名称位于第二个文件依赖于它的数据库中。当我运行第二个文件时,它会占用文件夹'将名称作为数据库,并绘制关于面的矩形。如果face在数据库中,则会在矩形中写入文件夹名称。如果脸部未被识别,则会写入"未知"在矩形。

我在python中不是那么强大,所以我想帮你在第二个文件中添加小的更改:

识别后,我需要在面孔上显示一条消息,供用户输入" name",这将在数据库中找到。用户输入" name"后,程序应仅在此面上绘制一个矩形,并创建两个变量。第一个变量继续左边的矩形边和左边的边缘之间的存储距离。第二个变量继续存储右方矩形边和右屏边之间的距离。我怎么能这样做?

[![在此处输入图像说明] [1]] [1]

第二个文件是:

1 个答案:

答案 0 :(得分:0)

每张脸的(x, y, w, h)对应于矩形在整个(x, y)图片内开始的frame坐标;和(w, h)是矩形的宽度和高度,因此您要查找的左右距离可以计算为

if prediction[1] < 500:
    x_left = x
    x_right = width - w - x
    ...

其中width也引用frame图片。

修改

如果您需要将输入名称与数据库中的面部名称进行比较,您可以这样做:

name = raw_input("Enter your name: ")
if name == face_name:
    ...

raw_input将让用户介绍其名称并将其存储在变量name中,然后您可以检查它是否在数据库中。

希望这有帮助!