首页 / C# / c#-查找图像中的棋盘,并确定角度和距离
c#-查找图像中的棋盘,并确定角度和距离
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-查找图像中的棋盘,并确定角度和距离,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1434字,纯文字阅读大概需要3分钟。
内容图文
我想要做的是获取一个源图像,其中将包含一个已知物理尺寸和一个已知正方形数的黑白方格板,并标识该板的边界以及其所处的角度被观察到(假设其完全平坦)并从什么距离观察到.
如果我可以可靠地识别棋盘的四个角,那么我知道如何计算角度和距离,因此任务更多是关于识别棋盘的事情.
到目前为止,我一直在尝试对图像进行灰度处理并增加对比度,因此最终得到了一个鲜明的黑白图像(在眼睛中它只包含带有白色正方形的黑色),而我却可以确定图像的边界.从上到下的角度,通过测量从黑色到白色到黑色的变化频率,电路板可以很好地工作,我不确定如何在任何角度进行此操作.
名义上讲,我正在使用C#进行此操作,但就实际答案而言,我对任何具有类似c语法的代码示例感到满意-尽管对此示例的数学和方法更感兴趣.
解决方法:
通常,可以使用SIFT或SURF在3d世界中查找普通2d对象.
分两个步骤:
>在图像中找到数量可管理的局部特征(例如强角)
>在图像中的这些点与搜索模式之间找到关联
OpenCV具有以下实现:
Features2D + Homography to find a known object
冲浪Wikipedia article还指出了另一个c# implementation.
另请参见this Stackoverflow answer:
现在这是一种非常通用的方法,我不知道它与您的棋盘配合使用的效果如何.
但是有一些针对棋盘图案的方法:例如the openCV function cvFindChessboardCorners(tutorial)
我从未使用过它,但发现算法的this description为:(Source is in the file cvcalibinit.cpp )
>通过阈值分割黑白方块进行图像二值化
>查找黑色方块的角:
>查找黑色区域边界的轮廓
>选择合适形状的轮廓
>用4顶点多边形近似这些轮廓
>在这些中选择类似于校准图案正方形的四边形
>提取所选四边形的角,附近至少有一个角
>根据校准对象的大小,将所选四边形的角按直线分组
内容总结
以上是互联网集市为您收集整理的c#-查找图像中的棋盘,并确定角度和距离全部内容,希望文章能够帮你解决c#-查找图像中的棋盘,并确定角度和距离所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。