- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当样本数量有限且位于图像的小区域内时,您对相机校准有什么想法或建议吗?
这里是一些额外的信息:
我正在从事一个项目,以帮助残疾人用眼睛使用计算机。由于我对 OpenCV 缺乏经验,有些事情给我带来了一些麻烦。
摄像头是头戴式的,凸度还不错,但眼球本身是凸的,会转动。我打算“压平”眼睛,让它看起来像在平面上移动。显而易见的选择是校准相机以尝试消除径向畸变。
在校准过程中,用户查看屏幕上网格的角。在校准期间,瞳孔的时刻存储在每个位置的 Mat 中。所以当我在屏幕上查看网格的角时,我有一个图像,其中的点对应于多个眼球位置。
我可以绘制连接四个点组的填充多边形并创建棋盘图案,或者我可以将每个眼睛位置保存为一个点并使用对称圆形图案进行校准。
我遇到的问题是相机是静态的,眼睛位置不会改变,因此我可以生成多少图像是有限的,因为位置范围不是那么大。
我正在考虑将网格 segmentation 为更小的棋盘图案,但它们都在同一个小区域中,所以我不确定这会有多大用处。
谢谢!
最佳答案
您所说的实际上似乎不是相机校准 - 它是眼动追踪设置的校准。
当您在 OpenCV 中校准相机时,您确实会尝试消除径向和切向失真,因此应用该过程“压平”圆形物体似乎很直观。但是,球形透镜 引入的径向畸变不是您要处理的。您关心球形物体上的点投影到图像中的方式。
不可否认,这些模型看起来非常相似,但要点是,在为测试对象校准设置期间,您不应触摸相机的校准(您应该离线进行)。您的“位置范围”有限这一事实是您问题所固有的,无法通过图像处理来改变。您正在拍摄的眼睛只占了相机视野的一部分。
就个人而言,我只会记录屏幕上 9 个均匀分布的点上的瞳孔位置,并将屏幕坐标与瞳孔二阶多项式的图像坐标相关联。这归结为采用球面投影的第一个泰勒项,除非眼球运动很大,否则这可能已经足够好了。然后,您可以使用 16 个而不是 9 个点针对第二次校准测试预测的运动。
我假设你能找到 book on the topic了解更多信息。
关于c++ - 在 OpenCV 和 c++ 中使用一组有限的图像进行相机校准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16764679/
我有一个关于复杂性的简单问题。我在 Java 中有这段代码: pairs是 HashMap包含 Integer作为键,它的频率为 Collection作为一个值。所以: pairs = new Has
对于我的应用程序,我需要在 Coq 中使用和推理有限映射。谷歌搜索我发现 FMapAVL 似乎非常适合我的需求。问题是文档很少,我还没有弄清楚我应该如何使用它。 作为一个简单的例子,考虑以下使用对列表
我有一个主表tblAssetMaster A和一个移动表tblMovement M。 我想提取所有 Assets 及其当前位置,因此需要获取每个 Assets 的最新移动条目。 字段 A: Asset
我想让我的网站内容居中,但仅限于网页的特定宽度。所以当它超过 500px 时,我希望内容被修复,无法进一步拉伸(stretch)。无论如何都要这样做,还是我最好把所有东西都修好?希望有意义的是添加一些
我正在尝试批量删除 Backbone 模型的集合,如下所示...... collection.each(function(model, i){ model.destroy(); }); 我发现当每
我想要一个软件环境,在其中我可以在具有特定资源的硬件上测试我的软件的速度。例如,当我的主机硬件是具有 12GB RAM 的 3GHz 四核 amd64 时,该程序在具有 24 Mb RAM 的 800
在 Eclipse 中,我得到了 BigInteger.valueOf(2).pow(31093) 的值,但没有得到 BigInteger.valueOf(2).pow(31094) 的值(它是空的)
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我想将 2 个表从本地 sql server 2000 上传到托管的 mysql。第一个表有 17 列和 680 行,其他 10 列和 8071 行。 我首先使用 xampp mysql 尝试离线,它
我在 S3 中自动生成并保存了静态 html 文件。有时文件大小达到 2mb。是否可以使用javascript来获取html文件的一部分,显示它,当用户到达页面底部时,获取下一部分等等? 最佳答案 X
我是一名优秀的程序员,十分优秀!