相机标定黑白格纸生成(提供PDF版下载)

您所在的位置:网站首页 标定板pdf下载 相机标定黑白格纸生成(提供PDF版下载)

相机标定黑白格纸生成(提供PDF版下载)

2023-03-31 18:06| 来源: 网络整理| 查看: 265

小白近期对相机进行了标定,关于相机标定的原理和方法网上比较多,讲解也比较详细,这里小白也就不再重复,如果有对原理不是很清晰的小伙伴,可以后台私密我。

 

小白在ROS上安装标定工具,使用黑白方格进行标定。因为好久好久之前小白对其他的相机标定过,印象中电脑里面存了黑白格纸的电子版。但是很不幸,最后没有找到。于是小白决定用代码自己生成一个黑白标定纸,小白整理了利用matlab和OpenCV两种方法,并为小伙伴提供PDF版,供大家下载直接使用。

 

Matlab版

 

I=checkerboard(100); figure,imshow(I>0.5) imwrite((I>0.5),'calibration');

 

其中100表示每个方格大边长为100个像素,注意这个I>0.5是为了让显示的棋盘亮度统一,否则会发现一半暗一半亮

 

如果小伙伴对代码有执着的追求的话,小白也为大家提供了一种通过自主编写代码实现的程序

function M = writeChessBoard( width, height, size, xnum, ynum, position, background) % This function writes a chessboard on image. % 该方程创建一个棋盘格图像。 %参数解释: % width: 宽度 % height:高度 % size:单个小方块的大小 % xum:x方向上的个数(每4个小方块一组) % xum:x方向上的个数(每4个小方块一组) % position:起始位置的坐标(为了留出边,便于打印) % background:背景亮度, 0widthStep*i; for (int j = 0; jwidth; j++) { if ((j / size) % 2 == 1) *data = 255;//白色 else *data = 0;//黑色 data++; } } //生成棋盘格 for (int i = 0; iheight; i++) { if ((i / size) % 2 == 1) { uchar* data = (uchar*)image->imageData + image->widthStep*i; for (int j = 0; jwidth; j++) { *data = 255 - *data; data++; } } } cvShowImage("image",image); cvWaitKey(); cvSaveImage("chessboard.jpg", image); } /* 作者:lwqbrell */

 

 

#include "opencv2/core/core.hpp" #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/calib3d/calib3d.hpp" #include "opencv2/highgui/highgui.hpp" #include using namespace cv; using namespace std; int main() { Size ImageSize = Size(960, 1260); Mat src(ImageSize.width,ImageSize.height,CV_8UC1,Scalar(0)); namedWindow("src", CV_WINDOW_NORMAL); imshow("src", src); int width = 140; int height = 140; for (int i = 0; i < src.rows; i++) { for (int j = 0; j < src.cols; j++) { if ((i / width + j / height)%2 != 0) { src.at(i, j) = 255; } else { src.at(i, j) = 0; } } } namedWindow("result", CV_WINDOW_NORMAL); imshow("result", src); imwrite("result.bmp", src); waitKey(0); return 0; }

 

运行生面的程序便可以生成我们需要的黑白格,再用直接用打印机打印就ok了。

A4纸打印变长2.65cm网格纸

https://pan.baidu.com/s/10hmIYeVzAfXcK-kACed_9g

A4纸打印边长2.45cm网格纸

https://pan.baidu.com/s/1HaR27e01EPkJiTYcdxAAbA

 

 

相关阅读:

一起学习二维码(二)配置解码环境

一起学习二维码(一)生成自己的二维码

使用Matlab图像处理(五)——边缘提取

使用Matlab图像处理(四)——常用滤波的实现

使用Matlab图像处理(三)——图像滤波原理

使用Matlab图像处理(二)

使用Matlab图像处理(一)

 

相机标定黑白格纸生成(提供PDF版下载)_干货

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3