小编kar*_*thy的帖子

眼动追踪:找到瞳孔(x,y)

我正在寻找一些关于如何处理以下计算机视觉问题的建议.以下是我正在使用的4个眼动追踪数据集样本.我想写代码拍摄一个这样的图像并计算瞳孔中心的(x,y)位置.我目前正在使用MATLAB,但我也愿意使用其他软件.

有人可以推荐一种我可以用于此任务的方法吗?这里有一些我已经尝试过的但是效果不太好的东西.

  • 我试图使用圆形霍夫变换,但这需要我猜测瞳孔的半径,这有点问题.此外,由于扭曲,瞳孔并不总是一个圆,这可能使这种方法更难.
  • 我尝试基于像素亮度对图像进行阈值处理,并使用regionprops MATLAB函数来寻找具有极低偏心率(即尽可能圆形)的粗略(例如)200像素区域的区域.然而,这对阈值非常敏感,并且基于照明条件,眼睛的一些图像比其他图像更亮.(注意下面的4个样本已经进行了均值归一化,并且其中一个图像比其他图像更亮,可能是因为某处有一些非常暗的随机像素)

任何意见/建议将不胜感激!

编辑:感谢Stargazer的评论.理想情况下,算法应该能够确定瞳孔不在图像中,就像最后一个样本的情况一样.如果我暂时忘记它,这不是什么大问题.如果它给我错误的答案会更糟糕.

替代文字

algorithm matlab opencv computer-vision eye-tracking

9
推荐指数
2
解决办法
6573
查看次数

找到最能保留距离的双射

我有两个空格(维度不一定相等)有N个点.我试图找到点的双射(配对),以便尽可能地保留距离.

我似乎无法在线找到对此问题的可能解决方案或算法的讨论.任何人都可以建议我可以搜索的关键字吗?此问题是否有名称,或者是否出现在任何域中?

algorithm math machine-learning linear-algebra

5
推荐指数
1
解决办法
284
查看次数

C++代码设计中的多代理系统

我有一个用C++编写的模拟,我需要维护可变数量的代理,而我在确定如何很好地实现它时遇到了麻烦.每个代理看起来类似于:

class Agent{
public:
    Vector2f pos;
    float health;
    float data[DATASIZE];
    vector<Rule> rules;
}
Run Code Online (Sandbox Code Playgroud)

我需要在模拟中维护可变数量的代理,以便:

  1. 优选地,药剂的数量没有上限
  2. 我可以轻松添加代理
  3. 我可以在某些条件下轻松删除任何代理(比如健康<0)
  4. 我可以轻松地迭代所有代理并做一些事情(比如健康 - )
  5. 优选地,我可以使用openMP并行化工作,因为许多更新有些昂贵,但完全独立于其他代理.
  6. (编辑)代理的顺序根本不重要

我应该为代理商使用什么样的容器或设计原则?直到现在我才使用矢量,但我认为很难从这个结构中抹去:我需要经常做的事情,因为事情总是在死.我应该看看有什么选择吗?我想过像List这样的东西,但我不认为它们可以并行化,因为它们是作为带有迭代器对象的链表实现的?

谢谢

c++ containers design-patterns multi-agent openmp

4
推荐指数
1
解决办法
2258
查看次数

C++从文件中读取数字并存储在向量中

我在"撤消"这个方法时遇到了麻烦,它基本上将一个可变大小的数字矩阵转储到一个文本文件中:

void vectorToFile(char *name, vector<vector<double>>* a){
    FILE* fp = fopen(name, "w");
    for(int i=0;i<a->size();i++){
        for(int j=0;j<a->at(i).size();j++){
            fprintf(fp, "%f ", a->at(i).at(j));
        }
        fprintf(fp, "\n");
    }
    fclose(fp);
}
Run Code Online (Sandbox Code Playgroud)

我无法实现反向:

vector<vector<double>> fileToVector(char *name){ ??? }
Run Code Online (Sandbox Code Playgroud)

我保证文件中的数字形成一个"矩形",即内部向量的大小都相等,但我不知道如何计算每行的条目数和列数.

谁能指出我正确的方向?到目前为止,我发现的每个例子都使用硬编码的大小或第一行中给出的大小(不幸的是我承担不起)

c++ file input

1
推荐指数
1
解决办法
8816
查看次数