间隔[40cm]之间的人脸出现次数; 80cm]

Posted

技术标签:

【中文标题】间隔[40cm]之间的人脸出现次数; 80cm]【英文标题】:Number of occurrence of a face between an interval of [40 cm; 80cm] 【发布时间】:2017-07-18 07:25:45 【问题描述】:

每当相机和我的脸之间的距离在 40 厘米到 80 厘米之间时,我都尝试增加 ++ 一个数字 (i)。不幸的是,当它发生时,文本视图显示(出现次数为:50)。请帮帮我

public void update(final Messsage msg)     
    for(int i = 0; i < 50; ++i) 
        if (msg.getDistanceToFace() > 40 && msg.getDistanceToFace() < 80) 
            textView.setText("The number of occurrence is: " + i);
            textView.setTextColor(Color.GREEN);
        
    

【问题讨论】:

【参考方案1】:

您可能应该在设置文本后添加一个break,您的编码方式将为 i 的所有迭代设置一个文本,但您只会看到最后一个 (50)

【讨论】:

【参考方案2】:

如果你只是想在人脸距离一定长度的情况下增加数量,你不应该在这上面多做点什么吗?

public void update(final Messsage msg) 
    int i = 0;
    if (msg.getDistanceToFace() > 40 && msg.getDistanceToFace() < 80) 
        i++;
        textView.setText("The number of occurrence is: " + i);
        textView.setTextColor(Color.GREEN);
    

也许您需要将 i 设为全局变量或函数的参数,如果没有更多代码则不确定。

如果您不希望 i 快速增加(因为每次调用 update 函数并且手机靠近脸部时它都会增加),那么执行此操作的简单代码类似于

public void update(final Messsage msg) 
    boolean isCloseToFace = false;
    int i = 0;
    if (msg.getDistanceToFace() > 40 && msg.getDistanceToFace() < 80) 
        if (!isCloseToFace) 
            i++;
            isCloseToFace = true;
        
        textView.setText("The number of occurrence is: " + i);
        textView.setTextColor(Color.GREEN);
     else 
        isCloseToFace = false;
    

【讨论】:

感谢您的回答。但它会不断增加,直到人脸退出区间。 感谢您的回答。但它不会停止增加。 :( 如果你想让它停止增长,你必须为此做一些逻辑。我会用一个例子来更新我的答案。

以上是关于间隔[40cm]之间的人脸出现次数; 80cm]的主要内容,如果未能解决你的问题,请参考以下文章

服装尺寸

项目中基础参数

植物:玉簪

PCB工艺要求

CM+CDH安装大数据的过程中出现主机运行状态不良情况的解决

plt.scatter(X[0, :], X[1, :], c=Y, s=40, cmap=plt.cm.Spectral)出错