Opencv 生成摄像头标定棋盘
由于 3D 重建跟双目视觉的需要,对标定棋盘图的生成 C++代码如下(修改棋盘的方块 cube、角点数 x、y 即可改变棋盘大小):
#include <iostream>
#include<opencv.hpp>
using namespace std;
using namespace cv;
int main(int args, char* argv) {
int cube = 90;
int row_corner = 7;
int col_corner = 13;
Mat img(row_corner*cube, col_corner*cube, CV_8UC1, Scalar::all(255));
for (int i = 0; i < img.rows; i++)
{
for (int j = 0; j < img.cols; j++)
{
if ((i / cube) % 2 == 0){
if (((i / cube) % 2 == 0) && ((j / cube) % 2 == 0)) {
img.at<uchar>(i, j) = 0;
}
}
if ((i / cube) % 2 == 1) {
if (((i / cube) % 2 == 1) && ((j / cube) % 2 == 1)) {
img.at<uchar>(i, j) = 0;
}
}
}
}
imshow("img", img);
imwrite("board.jpg", img);
waitKey(0);
return 0;
}
标定板:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论