这是程序,没问题,网上找的棋盘图基本都可以运行,但是自己拍的棋盘图片为啥检测不到角点?
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat srcimage;
Mat viewGray;
vector<Point2f> corners;
Size PatSize;
PatSize.width = 9;
PatSize.height = 6;
srcimage = imread("C:/Users/ASUS/Desktop/毕设/新建文件夹/1/c.jpg");
cvtColor(srcimage, viewGray, COLOR_BGR2GRAY);
bool ret = findChessboardCorners(viewGray, PatSize, corners);
if (!ret)
{
cout << "Can not find the corners." << endl;
}
cornerSubPix(viewGray, corners, Size(11, 11),
Size(-1, -1), TermCriteria(TermCriteria::EPS + TermCriteria::COUNT, 40, 0.04));
drawChessboardCorners(srcimage, PatSize, Mat(corners), ret);
namedWindow("chessboard corners");
imshow("chessboard corners", srcimage);
waitKey(0);
}
