C++实现SIFT检测

#include
#include
using namespace cv;
using namespace std;


int main5(int argc, char** argv)
{
	Mat src = imread("E:/sift_test.jpg", IMREAD_GRAYSCALE);
	if (src.empty())
	{
		cout << "未能加载图片" << endl;
		return -1;
	}
	namedWindow("input image", CV_WINDOW_AUTOSIZE);
	imshow("input image", src);

	int numFeatures = 10000;
	Ptrdetector = SIFT::create(numFeatures);
	vectorkeypoints;
	detector->detect(src, keypoints, Mat());
	cout << "Totol KeyPoints" << keypoints.size() << endl;

	Mat keypoint_img;
	drawKeypoints(src, keypoints, keypoint_img, Scalar::all(-1), DrawMatchesFlags::DEFAULT);
	namedWindow("SIFT KeyPoints", CV_WINDOW_AUTOSIZE);
	imshow("SIFT Keypoints",keypoint_img);

	waitKey(0);
	return 0;
}

你可能感兴趣的:(opencv,算法,人工智能,c++)