“d2f6f0bdb98144143088fb44fd6d69fcfca90507”上不存在“git@gitcode.net:qq_62668011/fucking-algorithm.git”
提交 c4631573 编写于 作者: V Victor Erukhimov

cv::cvflann -> cv::flann

上级 583a08d5
......@@ -62,10 +62,6 @@
#if defined(__cplusplus)
#include "opencv2/core/internal.hpp"
namespace cv {
namespace flann = cvflann;
}
#endif //__cplusplus
#endif __OPENCV_OLD_CV_H_
......@@ -43,6 +43,10 @@
#ifndef __OPENCV_OLD_CV_HPP__
#define __OPENCV_OLD_CV_HPP__
#if defined(__GNUC__)
#warning "This is a deprecated opencv header provided for compatibility. Please include a header from a corresponding opencv module"
#endif
#include <cv.h>
#endif
......@@ -42,8 +42,9 @@
#ifndef __OPENCV_OLD_AUX_H__
#define __OPENCV_OLD_AUX_H__
#pragma warning("This is a deprecated opencv header provided for compatibility. Please \
include a header from a corresponding opencv module")
#if defined(__GNUC__)
#warning "This is a deprecated opencv header provided for compatibility. Please include a header from a corresponding opencv module"
#endif
#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
......
......@@ -42,6 +42,10 @@
#ifndef __OPENCV_OLD_AUX_HPP__
#define __OPENCV_OLD_AUX_HPP__
#if defined(__GNUC__)
#warning "This is a deprecated opencv header provided for compatibility. Please include a header from a corresponding opencv module"
#endif
#include <cvaux.h>
#endif
......@@ -43,6 +43,10 @@
#ifndef __OPENCV_OLD_CXCORE_H__
#define __OPENCV_OLD_CXCORE_H__
#if defined(__GNUC__)
#warning "This is a deprecated opencv header provided for compatibility. Please include a header from a corresponding opencv module"
#endif
#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
......
......@@ -52,7 +52,7 @@ namespace cvflann
namespace cv {
namespace cvflann {
namespace flann {
/* Nearest neighbor index algorithms */
enum flann_algorithm_t {
......
......@@ -38,7 +38,7 @@
namespace cv
{
namespace cvflann {
namespace flann {
::cvflann::Index* LinearIndexParams::createIndex(const Mat& dataset) const
{
......
......@@ -1077,7 +1077,7 @@ protected:
CvMat* m_pca_hr_eigenvectors; // PCA eigenvectors for large patches
OneWayDescriptor* m_pca_descriptors; // an array of PCA descriptors
cv::cvflann::Index* m_pca_descriptors_tree;
cv::flann::Index* m_pca_descriptors_tree;
CvMat* m_pca_descriptors_matrix;
CvAffinePose* m_poses; // array of poses
......
......@@ -149,7 +149,7 @@ namespace cv{
std::vector<int>& desc_idxs, std::vector<int>& pose_idxs, std::vector<float>& distances,
CvMat* avg = 0, CvMat* eigenvalues = 0);
void FindOneWayDescriptor(cv::cvflann::Index* m_pca_descriptors_tree, CvSize patch_size, int m_pca_dim_low, int m_pose_count, IplImage* patch, int& desc_idx, int& pose_idx, float& distance,
void FindOneWayDescriptor(cv::flann::Index* m_pca_descriptors_tree, CvSize patch_size, int m_pca_dim_low, int m_pose_count, IplImage* patch, int& desc_idx, int& pose_idx, float& distance,
CvMat* avg = 0, CvMat* eigenvalues = 0);
void FindOneWayDescriptorEx(int desc_count, const OneWayDescriptor* descriptors, IplImage* patch,
......@@ -163,7 +163,7 @@ namespace cv{
std::vector<float>& distances, std::vector<float>& scales,
CvMat* avg, CvMat* eigenvectors);
void FindOneWayDescriptorEx(cv::cvflann::Index* m_pca_descriptors_tree, CvSize patch_size, int m_pca_dim_low, int m_pose_count, IplImage* patch,
void FindOneWayDescriptorEx(cv::flann::Index* m_pca_descriptors_tree, CvSize patch_size, int m_pca_dim_low, int m_pose_count, IplImage* patch,
float scale_min, float scale_max, float scale_step,
int& desc_idx, int& pose_idx, float& distance, float& scale,
CvMat* avg, CvMat* eigenvectors);
......@@ -800,7 +800,7 @@ namespace cv{
#if defined(_KDTREE)
void FindOneWayDescriptor(cv::cvflann::Index* m_pca_descriptors_tree, CvSize patch_size, int m_pca_dim_low, int m_pose_count, IplImage* patch, int& desc_idx, int& pose_idx, float& distance,
void FindOneWayDescriptor(cv::flann::Index* m_pca_descriptors_tree, CvSize patch_size, int m_pca_dim_low, int m_pose_count, IplImage* patch, int& desc_idx, int& pose_idx, float& distance,
CvMat* avg, CvMat* eigenvectors)
{
desc_idx = -1;
......@@ -875,7 +875,7 @@ namespace cv{
object_ptr[i] = pca_coeffs->data.fl[i];
}
m_pca_descriptors_tree->knnSearch(m_object, m_indices, m_dists, 1, cv::cvflann::SearchParams(-1) );
m_pca_descriptors_tree->knnSearch(m_object, m_indices, m_dists, 1, cv::flann::SearchParams(-1) );
desc_idx = ((int*)(m_indices.ptr<int>(0)))[0] / m_pose_count;
pose_idx = ((int*)(m_indices.ptr<int>(0)))[0] % m_pose_count;
......@@ -1109,7 +1109,7 @@ namespace cv{
}
#if defined(_KDTREE)
void FindOneWayDescriptorEx(cv::cvflann::Index* m_pca_descriptors_tree, CvSize patch_size, int m_pca_dim_low,
void FindOneWayDescriptorEx(cv::flann::Index* m_pca_descriptors_tree, CvSize patch_size, int m_pca_dim_low,
int m_pose_count, IplImage* patch,
float scale_min, float scale_max, float scale_step,
int& desc_idx, int& pose_idx, float& distance, float& scale,
......@@ -1660,7 +1660,7 @@ namespace cv{
//::cvflann::KDTreeIndexParams params;
//params.trees = 1;
//m_pca_descriptors_tree = new KDTree(pca_descriptors_mat);
m_pca_descriptors_tree = new cv::cvflann::Index(pca_descriptors_mat,cv::cvflann::KDTreeIndexParams(1));
m_pca_descriptors_tree = new cv::flann::Index(pca_descriptors_mat,cv::flann::KDTreeIndexParams(1));
//cvReleaseMat(&m_pca_descriptors_matrix);
//m_pca_descriptors_tree->buildIndex();
}
......
......@@ -138,8 +138,8 @@ flannFindPairs( const CvSeq*, const CvSeq* objectDescriptors,
// find nearest neighbors using FLANN
cv::Mat m_indices(objectDescriptors->total, 2, CV_32S);
cv::Mat m_dists(objectDescriptors->total, 2, CV_32F);
cv::cvflann::Index flann_index(m_image, cv::cvflann::KDTreeIndexParams(4)); // using 4 randomized kdtrees
flann_index.knnSearch(m_object, m_indices, m_dists, 2, cv::cvflann::SearchParams(64) ); // maximum number of leafs checked
cv::flann::Index flann_index(m_image, cv::flann::KDTreeIndexParams(4)); // using 4 randomized kdtrees
flann_index.knnSearch(m_object, m_indices, m_dists, 2, cv::flann::SearchParams(64) ); // maximum number of leafs checked
int* indices_ptr = m_indices.ptr<int>(0);
float* dists_ptr = m_dists.ptr<float>(0);
......
......@@ -54,12 +54,26 @@ int main(int argc, char** argv)
printf("Reading the images...\n");
IplImage* img1 = cvLoadImage(img1_name.c_str(), CV_LOAD_IMAGE_GRAYSCALE);
IplImage* img2 = cvLoadImage(img2_name.c_str(), CV_LOAD_IMAGE_GRAYSCALE);
// extract keypoints from the first image
vector<KeyPoint> keypoints1;
SURF surf_extractor(5.0e3);
vector<KeyPoint> keypoints1;
#if 1
Mat _img1(img1);
vector<Point2f> corners;
goodFeaturesToTrack(_img1, corners, 200, 0.01, 20);
for(size_t i = 0; i < corners.size(); i++)
{
KeyPoint p;
p.pt = corners[i];
keypoints1.push_back(p);
}
#else
// printf("Extracting keypoints\n");
surf_extractor(img1, Mat(), keypoints1);
#endif
printf("Extracted %d keypoints...\n", (int)keypoints1.size());
printf("Training one way descriptors...");
......
......@@ -47,7 +47,7 @@
#include <iostream>
using namespace cv;
using namespace cv::cvflann;
using namespace cv::flann;
//--------------------------------------------------------------------------------
class NearestNeighborTest : public CvTest
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册