Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 发现棋盘角不';t在opencv 4.1.2 c+中工作+;_C++_Opencv_Camera_Camera Calibration_Chess - Fatal编程技术网

C++ 发现棋盘角不';t在opencv 4.1.2 c+中工作+;

C++ 发现棋盘角不';t在opencv 4.1.2 c+中工作+;,c++,opencv,camera,camera-calibration,chess,C++,Opencv,Camera,Camera Calibration,Chess,我正在校准我的照相机。正如我所读到的,我需要做一些测试->findChessboard; 我有真正的国际象棋,我拍了它的照片(它是8x4),我设置了大小(8-1,4-1)->大小(7,3) Bot boards设置为32(4乘以8等于32(或者我应该写7*3->21))。当我想找到棋盘时,它说我错了 将会有这个棋盘的图片 我已经尝试了所有的方法来寻找这些棋盘角->我给它标记为CALIB_CB_ADAPTIVE_THRESH | CALIB_CB_FILTER_QUADS或CALIB_CB_AD

我正在校准我的照相机。正如我所读到的,我需要做一些测试->findChessboard; 我有真正的国际象棋,我拍了它的照片(它是8x4),我设置了大小(8-1,4-1)->大小(7,3) Bot boards设置为32(4乘以8等于32(或者我应该写7*3->21))。当我想找到棋盘时,它说我错了

将会有这个棋盘的图片

我已经尝试了所有的方法来寻找这些棋盘角->我给它标记为CALIB_CB_ADAPTIVE_THRESH | CALIB_CB_FILTER_QUADS或CALIB_CB_ADAPTIVE_THRESH+CALIB_CB_FILTER_QUADS。它也不起作用。我试着给它一个彩色(非灰色)的图像,但效果不太好。我该怎么办

对我尝试的操作进行编码:

VideoCapture vc(0);
int numBoards=0;
int Numcornersor;
国际货币基金组织;
printf(“输入沿宽度的角数:”);
scanf(“%d”&numcornersor);
printf(“输入沿高度的角数:”);
scanf(“%d”&numCornersVer);
printf(“输入板数:”);
scanf(“%d”、&numBoards);
int numSquares=numcornersor*numCornersVer;
尺寸板_sz=尺寸(NumCornersor,numCornersVer);
向量对象_点;
矢量图像点;
矢量角点;
int=0;
Mat图像;
Mat灰度图像;
vc>>图像;
对于(int j=0;j>图像;
int key=waitKey(1);
如果(键==27)
返回0;
if(key=''&&found!=0)
{
图像点。向后推(角);
对象点。推回(obj);
printf(“快照存储!”);
成功++;
如果(成功>=numBoards)
打破
}
}

查看输入图像,我发现两个问题可能导致角点检测失败

首先,图像是一种黑暗的方式。提供一些漫反射照明。否则,即使要检测角点,传感器噪声也会非常高,以至于检测精度会非常差

第二,正如findChessboardCorners()中所述:

注意:该功能需要在电路板周围留出空白(如方形厚边框,越宽越好),以使检测在各种环境中更为稳健。否则,如果没有边界且背景为黑色,则外部黑色正方形无法正确分割,因此方形分组和排序算法失败

我建议打印出具有足够白边的高质量电路板图像,将其粘在坚固的平面上(如木板),并在光线充足的环境中进行校准。这样,它不仅应该检测角点,而且检测的准确性应该比您使用的设置要好得多


如果您需要有关高质量相机校准的其他提示,请查看。

谢谢。但它也不起作用。对不起,我迟到了。[链接]()。我做到了。它的尺寸是6x9和54。