如何使用OpenCV在此图像中检测中国象棋棋子?
我尝试过使用HoughCircles,但没有找到圆圈.
Mat src = imread( "x.jpg", CV_LOAD_IMAGE_GRAYSCALE);
GaussianBlur( src, src, Size(9, 9), 2, 2 );
vector<Vec3f> circles;
HoughCircles( src, circles, CV_HOUGH_GRADIENT, 1, src.rows/16);
cout << circles.size() << endl;
// The output is: 0
还测试了斑点检测器,但结果不正确.
Mat im = imread( "x.jpg", IMREAD_GRAYSCALE );
vector<KeyPoint> kps;
SimpleBlobDetector().detect(im, kps);
Mat im_kps;
drawKeypoints( im, kps, im_kps, Scalar(0,0,255), DrawMatchesFlags::DRAW_RICH_KEYPOINTS );
imshow("keypoints", im_kps );
waitKey(0);