24小时热门版块排行榜    

查看: 2105  |  回复: 10

lily69915

金虫 (小有名气)

[求助] 棋盘角点检测如何实现全自动? 已有1人参与

最近在做相机标定,但是参考张正友的棋盘标定法后,发现首先要手动标出4个棋盘角点,根据这4个角点定位棋盘的位置,再自动检测其他的角点位置,如果需要的期盼数很多的话,这样的标定就很不方便,不知道大家有啥建议,能实现这4个焦点的自动检测?谢谢!

棋盘角点检测如何实现全自动?
绘图1.jpg
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

tihaw

新虫 (初入文坛)

lz是matlab的程序跑的吗?
matlab的需要自己写代码检测了(或许网上有现成哟)。

如果是opencv + C/c++的完全是自动检测角点的。
2楼2015-09-28 13:58:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhxh1997

木虫 (正式写手)

满世界飞呀

【答案】应助回帖

引用回帖:
5楼: Originally posted by lily69915 at 2015-09-29 09:17:13
我只找到了matlab需要手动定棋盘4个角点后再自动检测内角点的,http://www.vision.caltech.edu/bouguetj/calib_doc/,不知可否帮忙找找matlab可以全自动的检测的代码啊?...

完全不用手动,要求全自动的话,有困难。对于棋盘这样一个特定的场景,全自动也不是不可能。

下面所说,仅供楼主参考。错了别怪我,对了要谢我
0. 照一张只有棋盘的图像A,检测角点(一般用Harris corner detector)
1. 检测图像A的SIFT特征(这个楼主应该会吧)。
2. 称要检测的图像(也就是楼主在本贴给出的图像)为B,同样在B中检测SIFT特征。
3. 把图像A的SIFT特征与图像B的SIFT特征进行匹配。由于SIFT特征对缩放,旋转,照明有很好的鲁棒性,对透视变换有一定的适用性。从楼主给出的图像来看,这个匹配应该是没有问题的。
4. 利用匹配关系,计算图像A与图像B的几何映射关系(这个是不难的)。
5. 根据已知的图像A的角点来计算出图像B的角点(这个会有误差的,要对图像B的角点进行refining)。

一点补充:
1. 一旦图像A的角点和SIFT特征检测出来后固定不变,即使改变了图像B,也可以用相同的图像A的角点和SIFT特征。SIFT特征检测速度慢,用SURF也可以,这个就比较快。
2. 也许检测图像A的角点时,还是要手工圈定外围4个角点。但也可以回避这个问题,那就是把图像A的范围选定好。这也就是用到了所谓的先验知识。
3. 图像A的角点可以只是对应于图像B的一部分角点。通过两图像SIFT特征求出的几何映射关系后,找到图像B的部分角点后,利用棋盘的几何特征再查找其他的角点大概位置后再进行细化(refining)。
4. 因为图像A是一次性准备工作,手工检测四个外围角点不是什么大的工作量,因而也是一个不错的选项,而且更安全。
5. 不一定非得用SIFT特征,其他特征也是可以得。区别不是太大,因为此处SIFT只是用来求几何映射关系,rough角点需要refine。
6. 楼主做相机标定吗?从楼主的图像看,这些棋盘全是正面照。完全用正面照来标定相机的话,误差会很大的。
7. 实际上不用图像A,仅用图像B,也可以做到角点自动检测,比如说用Hough变换等。

写太多了。有了成果别忘告诉我。

» 本帖已获得的红花(最新10朵)

图形,图像,视觉,信号处理,机器学习等欢迎交流!跟我交流时请把问题描述清楚,不要太笼统。
6楼2015-09-29 14:35:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

lily69915

金虫 (小有名气)

引用回帖:
2楼: Originally posted by tihaw at 2015-09-28 13:58:25
lz是matlab的程序跑的吗?
matlab的需要自己写代码检测了(或许网上有现成哟)。

如果是opencv + C/c++的完全是自动检测角点的。

嗯 对 我用的matlab,因为后续的算法都是matlab的  opencv的只是听说过 没用过呢  那我先看看opencv是怎么做的  实在不行就用matlab调用一下  多谢啦
3楼2015-09-28 15:22:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhxh1997

木虫 (正式写手)

满世界飞呀

【答案】应助回帖


感谢参与,应助指数 +1
lily69915: 金币+1 2015-09-29 09:17:34
引用回帖:
3楼: Originally posted by lily69915 at 2015-09-28 15:22:59
嗯 对 我用的matlab,因为后续的算法都是matlab的  opencv的只是听说过 没用过呢  那我先看看opencv是怎么做的  实在不行就用matlab调用一下  多谢啦...

matlab也有与opencv类似的功能。
事实上,该功能最初是用matlab实现的,后来移植到opencv上的。
在网上找找吧。
图形,图像,视觉,信号处理,机器学习等欢迎交流!跟我交流时请把问题描述清楚,不要太笼统。
4楼2015-09-28 20:48:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lily69915

金虫 (小有名气)

引用回帖:
4楼: Originally posted by zhxh1997 at 2015-09-28 20:48:48
matlab也有与opencv类似的功能。
事实上,该功能最初是用matlab实现的,后来移植到opencv上的。
在网上找找吧。...

我只找到了matlab需要手动定棋盘4个角点后再自动检测内角点的,http://www.vision.caltech.edu/bouguetj/calib_doc/,不知可否帮忙找找matlab可以全自动的检测的代码啊?
5楼2015-09-29 09:17:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lily69915

金虫 (小有名气)

送红花一朵
引用回帖:
6楼: Originally posted by zhxh1997 at 2015-09-29 14:35:47
完全不用手动,要求全自动的话,有困难。对于棋盘这样一个特定的场景,全自动也不是不可能。

下面所说,仅供楼主参考。错了别怪我,对了要谢我
0. 照一张只有棋盘的图像A,检测角点(一般用Harris corner det ...

非常感谢您提供的这个思路,待我尝试之后,有结果了再来告诉您~

我确实是要做相机标定的,贴出来的那个图只是其中之一,为了描述方便选了个近似正面的棋盘图,按照您的建议,先试试由A和B的映射关系进行角点检测试试看吧,您最后建议的hough变换,我倒是也想到了,因为之前用过hough变换的直线检测,不知道您是不是也是这个意思:直接对B检测直线定位棋盘的大致位置,然后根据棋盘的几何特征定位角点?我都试试看吧,太感谢啦!
7楼2015-09-30 09:39:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhxh1997

木虫 (正式写手)

满世界飞呀

【答案】应助回帖

引用回帖:
7楼: Originally posted by lily69915 at 2015-09-30 09:39:55
非常感谢您提供的这个思路,待我尝试之后,有结果了再来告诉您~

我确实是要做相机标定的,贴出来的那个图只是其中之一,为了描述方便选了个近似正面的棋盘图,按照您的建议,先试试由A和B的映射关系进行角点检测 ...

以后有什么事发color3rgb@gmail.com交流。
图形,图像,视觉,信号处理,机器学习等欢迎交流!跟我交流时请把问题描述清楚,不要太笼统。
8楼2015-09-30 11:09:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lily69915

金虫 (小有名气)

引用回帖:
8楼: Originally posted by zhxh1997 at 2015-09-30 11:09:05
以后有什么事发color3rgb@gmail.com交流。...

嗯  好的  太感谢了

ps. 这几天我采用opencv全自动实现的角点检测,但是估计因为是我所采集的图像的清晰度太差,完全检测不到角点(换用之前稍微清晰些的棋盘图就可以),鉴于当前的采集设备,只能先放弃opencv的全自动检测了...
接下来试试您提出来的思路,希望能行得通哇
9楼2015-10-09 10:13:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lily69915

金虫 (小有名气)

引用回帖:
8楼: Originally posted by zhxh1997 at 2015-09-30 11:09:05
以后有什么事发color3rgb@gmail.com交流。...

话说您不在国内?gmail仍然能用?我回国后就一直没法使用gmail了....
10楼2015-10-09 10:14:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lily69915 的主题更新
信息提示
请填处理意见