【发布时间】:2018-10-25 14:45:18
【问题描述】:
- 首先我会使用
cv::cornerHarris()来检测角落(我可以轻松做到)。 - 其次,我想从 Harris 检测器中提取关键点并将它们存储在
std::vector<KeyPoint>中(我不知道该怎么做)。稍后我将使用它来计算描述符并匹配它们。 -
我可以很容易地使用 SURF 来完成它们,但我想使用 Harris 角检测器来完成。
/// Detecting corners cv::cornerHarris(leftRoi, dst, blockSize, apertureSize, k, BORDER_DEFAULT); /// Normalizing normalize(dst, dst_norm, 0, 255, NORM_MINMAX, CV_32FC1, Mat()); convertScaleAbs(dst_norm, dst_norm_scaled); /// Drawing a circle around corners for (int j = 0; j < dst_norm.rows; j++) { for (int i = 0; i < dst_norm.cols; i++) { if ((int)dst_norm.at<float>(j, i) > 165) { circle(dst_norm_scaled, Point(i, j), 5, Scalar(0), 2, 8, 0); } } } /// Showing the result namedWindow("corners_window", CV_WINDOW_AUTOSIZE); imshow("corners_window", dst_norm_scaled);
-这部分有问题(如何从哈里斯检测器上方提取关键点)
std::vector<KeyPoint> keypoints;
【问题讨论】:
标签: feature-extraction keypoint corner-detection