【问题标题】:calculate distance between rectangle face and edge screen计算矩形面和边缘屏幕之间的距离
【发布时间】:2017-05-28 20:33:32
【问题描述】:

我正在尝试实时识别人脸,我发现了两个 python 开源执行成功的文件。第一个文件创建多个文件夹,其中文件夹的名称位于第二个文件所依赖的数据库中。当我运行第二个文件时,它将文件夹的名称作为数据库,并围绕面绘制矩形。如果人脸在数据库中,它将文件夹名称写在一个矩形中。如果无法识别人脸,则会在矩形中写入“未知”。

我在 python 方面不是很擅长,所以我想帮助你在第二个文件上添加一些小改动:

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

[![在此处输入图片描述][1]][1]

第二个文件是:

【问题讨论】:

    标签: python opencv


    【解决方案1】:

    每个面的(x, y, w, h) 对应于整个frame 图片中矩形开始的(x, y) 坐标;和(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 中,然后您可以检查它是否在数据库中。

    希望这有帮助!

    【讨论】:

    • 是的,这很重要。但我需要用户输入字符串“名称”,我的程序只在这个有名称的面上绘制矩形
    • @ ebeneditos 我们需要用户输入“name”并将该名称存储在变量中,现在在条件“if prediction[1]
    • 面名是什么变量?
    猜你喜欢
    • 2017-11-24
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 2015-08-13
    • 2023-03-25
    相关资源
    最近更新 更多