在c++中findChessboardCorners(gray, boardSize, corners);可视化corners
时间: 2024-03-02 08:54:08 浏览: 58
为了可视化 `findChessboardCorners()` 函数检测到的角点 `corners`,可以使用 OpenCV 库中的 `cv::drawChessboardCorners()` 函数。这个函数可以将角点绘制到棋盘图像上,以便于观察和调试。
具体而言,可以按照以下步骤进行可视化:
1. 调用 `findChessboardCorners()` 函数,获取棋盘格的角点坐标。
2. 使用 `cv::drawChessboardCorners()` 函数将角点绘制到棋盘图像上。
3. 显示绘制后的棋盘图像,以便于观察和调试。
以下是一个简单的示例代码,可以将角点绘制到灰度图像上:
```
// 检测角点
vector<Point2f> corners;
bool found = findChessboardCorners(gray, boardSize, corners);
// 绘制角点
Mat imgCorners;
cvtColor(gray, imgCorners, COLOR_GRAY2BGR);
drawChessboardCorners(imgCorners, boardSize, corners, found);
// 显示图像
imshow("Corners", imgCorners);
waitKey(0);
```
在这个示例代码中,首先调用 `findChessboardCorners()` 函数检测角点,然后将检测结果保存到 `corners` 向量中。接着,使用 `cvtColor()` 函数将灰度图像转换为彩色图像,以便于绘制角点。然后,调用 `drawChessboardCorners()` 函数将角点绘制到彩色图像上,最后通过 `imshow()` 函数显示绘制后的图像。
阅读全文