Python中文
首页
教程
问答
标签
搜索
登录
注册
OpenCV findChessboardCorners函数在(显然)简单场景中失败
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想用OpenCV找到棋盘的角落。</p> <p>我使用的图像包含两个棋盘,但我只对其中一个棋盘的子区域感兴趣。 下图显示了原始图像。</p> <p><img src="https://i.stack.imgur.com/QnO9C.png" alt="Original image"/></p> <p>使用GIMP,我选择了感兴趣的区域,并将所有其他像素设置为默认值。</p> <p><img src="https://i.stack.imgur.com/fD1xK.png" alt="Cropped image"/></p> <p>我还没有真正裁剪图像,因为我已经用这个图像大小校准了相机,我不想改变它。 该操作应该等价于更改图像矩阵中的值,但我更喜欢使用GIMP。这是一个一次性的实验,用图形工具而不是代码来完成这个操作会更快。</p> <p>生成的图像包含一个有24x5个角的棋盘,但是函数findChessboardCorners找不到任何东西。</p> <p>下面是我正在使用的Python代码:</p> <pre><code>>>> img = cv2.imread('C:\\Path\\To\\C4-Cropped.png', 0) >>> cv2.findChessboardCorners(img, (24, 5)) (False, None) >>> cv2.findChessboardCorners(img, (5, 24)) (False, None) </code></pre> <p>我也试过设置自适应阈值,但仍然不起作用</p> <pre><code>>>> cv2.findChessboardCorners(img, (24, 5), flags=cv2.cv.CV_CALIB_CB_ADAPTIVE_THRESH) (False, None) </code></pre> <p>看起来真的很奇怪。在过去,我多次使用OpenCV的这个功能,而且它始终有效,即使图像看起来比这个复杂得多。 该区域的光照不是均匀的,但该函数应该足够健壮以处理该问题。</p> <p>用GIMP临时创建的<em>人工</em>图像有问题吗? 我怎样才能找到角落?</p> <p>任何建议都将不胜感激。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我敢打赌5美元,findChessboardCorners内部的图像阈值会产生垃圾,因为遮罩图像中的背景。</p> <p>我建议进行裁剪,提取棋盘,然后用裁剪窗口位置偏移找到的角的坐标。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在python中从数据帧列中删除分类值?
9 回答
如何在python中从数据帧列表中删除引号
6 回答
如何在python中从数据帧创建列表
2 回答
如何在Python中从数据帧创建嵌套的JSON
4 回答
如何在Python中从数据帧显示wordcloud
6 回答
如何在Python中从数据帧的时间戳中删除字符
2 回答
如何在Python中从数据帧绘制简单绘图?
2 回答
如何在python中从数据帧行提取具有特定长度的范围?
1 回答
如何在python中从数据帧设置dict中的值
4 回答
如何在Python中从数据库中获得一个结果
3 回答
如何在python中从数据框中绘制分类条形图
9 回答
如何在Python中从数据框中选择特定细节?
7 回答
如何在python中从数据集中删除unicode
10 回答
如何在python中从数据集中删除某些数值?
8 回答
如何在python中从数据集中选择行
5 回答
如何在Python中从数组中删除元素
10 回答
如何在python中从数组中删除单个倒逗号?
2 回答
如何在python中从数组中删除对象?
3 回答
如何在python中从数组中删除引号
1 回答
如何在python中从数组中删除所有最小值
3 回答