OpenCV3使用findChessboardCorners函数无法识别棋盘?

Monalena 2019-04-18 09:20:20
我使用OpenCV3进行相机标定时,使用相机拍摄了1600*1200像素的图片,如下:

findChessboardCorners函数好像无法识别棋盘。
于是我从网上down了一套棋盘图,是640*480的,发现可以识别棋盘并检测到角点,图片如下:

我将我的图放缩到640*480发现还是无法识别棋盘,部分代码如下:
int main()
{
ifstream fin("caliberation_pics.txt"); // 存放所有标定图片名称的文本
ofstream fout("caliberation_results.txt"); // 用于存放标定结果的文本
// 读取一副标定图像,提取其中的角点并进行亚像素精确化
cout << "开始提取角点" << endl << ">>>" << endl << ">>>" << endl << ">>>" << endl << endl;
int image_count = 0; // 图像的数量
Size image_size; // 图像的大小
Size board_size = Size(11, 8); // 标定板上,每行每列角点的个数
vector<Point2f> corners; // 缓存每幅图像上检测到的角点数据
vector<vector<Point2f>> corners_seq; // 缓存所有检测到的角点序列
string filename; // 用于接收图像的名称
int count = 0; // 存储角点的个数
while (getline(fin, filename)) // 获取文件中每一行的数据,即获取文件中的图像名字
{
cout << filename << endl;
image_count++;
Mat imageInput = imread(filename); // 读取图像
Mat gray_image;
cvtColor(imageInput, gray_image, CV_RGB2GRAY); // 灰度化
cout << "正在读取第" << image_count << "张图像的信息" << endl << ">>>" << endl;
if (image_count > 0)
{
image_size.width = imageInput.cols;
image_size.height = imageInput.rows;

cout << "图像的宽度为: " << image_size.width << endl;
cout << "图像的高度为: " << image_size.height << endl;
cout << "图像的通道数为:" << imageInput.channels() << endl;
}
cout << "正在提取第" << image_count << "张图像的角点" << endl << ">>>" << endl;
// 提取角点

int patternfound = findChessboardCorners(gray_image, board_size, corners, CV_CALIB_CB_ADAPTIVE_THRESH);
cout << corners.size() << endl;
cout << patternfound << endl;

我输出了findChessboardCorners函数的返回值和存放角点的容器的size,输出值均为0,但是我用网上down的图是显示24.
网上的标定板行列角点数是6,4,我的板子设置的是11,8.
不知道该怎么弄了,来请求大家帮助!
...全文
3974 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wl_pingyi 2022-03-19
  • 打赏
  • 举报
回复 1

将图像反色可以得到(11,8)的角点阵列

番茄将 2020-12-03
  • 打赏
  • 举报
回复
外围的黑边干扰了
Xu_Xiaoping 2019-04-22
  • 打赏
  • 举报
回复
引用 1 楼 知无涯者1996的回复:
大家好,问题算是解决了,我把板子的行列设置成(9,6)就好了,但是不是说不计算最外边两行吗?
那个函数只寻找内角点
Monalena 2019-04-18
  • 打赏
  • 举报
回复
大家好,问题算是解决了,我把板子的行列设置成(9,6)就好了,但是不是说不计算最外边两行吗?

4,269

社区成员

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

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

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