关于opencv棋盘角点检测的问题

Algorithm-Engineer 2020-06-09 09:47:39
这是程序,没问题,网上找的棋盘图基本都可以运行,但是自己拍的棋盘图片为啥检测不到角点?

#include<iostream>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
Mat srcimage;
Mat viewGray;
vector<Point2f> corners;
Size PatSize;

PatSize.width = 9;
PatSize.height = 6;

srcimage = imread("C:/Users/ASUS/Desktop/毕设/新建文件夹/1/c.jpg");
cvtColor(srcimage, viewGray, COLOR_BGR2GRAY);
bool ret = findChessboardCorners(viewGray, PatSize, corners);
if (!ret)
{
cout << "Can not find the corners." << endl;
}



cornerSubPix(viewGray, corners, Size(11, 11),
Size(-1, -1), TermCriteria(TermCriteria::EPS + TermCriteria::COUNT, 40, 0.04));

drawChessboardCorners(srcimage, PatSize, Mat(corners), ret);
namedWindow("chessboard corners");
imshow("chessboard corners", srcimage);


waitKey(0);
}

...全文
511 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Algorithm-Engineer 2020-06-10
  • 打赏
  • 举报
回复
引用 3 楼 Monet66的回复:
[quote=引用 2 楼 Algorithm-Engineer的回复:][quote=引用 1 楼 Monet66的回复:]PatSize.width = 8 试一下
应该不行吧,得一奇一偶吧[/quote] 你的棋盘格角点就是8*6的,不是9*6[/quote] 非常感谢,成功解决
Algorithm-Engineer 2020-06-10
  • 打赏
  • 举报
回复
引用 3 楼 Monet66的回复:
[quote=引用 2 楼 Algorithm-Engineer的回复:][quote=引用 1 楼 Monet66的回复:]PatSize.width = 8 试一下
应该不行吧,得一奇一偶吧[/quote] 你的棋盘格角点就是8*6的,不是9*6[/quote] 行,我试一下,不过再大的棋盘格,opencv中检测棋盘角点函数也应该是设置多少角点检测多少吧!
紫金山赵火龙 2020-06-10
  • 打赏
  • 举报
回复
引用 2 楼 Algorithm-Engineer的回复:
[quote=引用 1 楼 Monet66的回复:]PatSize.width = 8 试一下
应该不行吧,得一奇一偶吧[/quote] 你的棋盘格角点就是8*6的,不是9*6
Algorithm-Engineer 2020-06-10
  • 打赏
  • 举报
回复
引用 1 楼 Monet66的回复:
PatSize.width = 8 试一下
应该不行吧,得一奇一偶吧
紫金山赵火龙 2020-06-10
  • 打赏
  • 举报
回复
PatSize.width = 8 试一下

4,264

社区成员

发帖
与我相关
我的任务
社区描述
OpenCV相关技术交流专区
计算机视觉人工智能opencv 技术论坛(原bbs) 广东省·深圳市
社区管理员
  • OpenCV
  • 幻灰龙
  • OpenCV中国团队
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

OpenCV中国团队官方博客:https://blog.csdn.net/opencvchina

试试用AI创作助手写篇文章吧