首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有亚像素精度的激光线中心检测

具有亚像素精度的激光线中心检测
EN

Stack Overflow用户
提问于 2013-05-01 07:42:40
回答 1查看 4.7K关注 0票数 4

我正在开发一个简单的‘激光线’扫描仪使用C++和OpenCV。到目前为止,我可以以1像素的精度检测到激光线的中心,因此我有了一个可能的“亚像素”函数/算法的起点。(激光线大约是。15-20像素宽)

现在,我有兴趣把这个改进到亚像素精度。我知道OpenCV有一些亚像素检测功能,但据我所知,这些功能仅用于检测角点。

如果有人有什么建议的话,我想听听。

一些信息;

  • 系统: QT框架、C++、OpenCV库
  • 照相机,单色(无颜色),配有红色滤光片
  • 图像分辨率;2560 x 1920
  • 注:只有一张图像将被分析为激光线。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-01 14:54:13

我使用了两种基本方法,取得了很好的效果:

  • 简单:在一个帧上,阈值并定位包含激光条纹图像的区域,然后将抛物线与原始像素强度在一个很小的间隔(5-7像素,取决于您的聚焦程度)在每个图像行的最大强度附近拟合。您的装配程序必须有一个响声,因为离群点是可能的,例如近现场区域与一个重要的镜面反射。
  • 更难,但更精确,如果你的相机的帧率足够高(或者光束移动足够慢):Curless的时空分析

搜索“亚像素激光拟合”返回了几个最近的结果。

在实际方面,要密切注意饱和度:你的曝光时间(或镜头光圈)应该确保你的传感器不会饱和,即使当光束击中物体表面最轻的部分。在信号被饱和截断的区域寻找一个峰值显然是毫无意义的。

聚焦(和景深)是其他需要注意的领域--物体表面上光束的模糊图像会产生一个偏置的峰值。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16314485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档