tengo algunos problemas con OpenCV flann :: Índice -Cómo usar opencv flann :: Index?
estoy creando índice
Mat samples = Mat::zeros(vfv_net_quie.size(),24,CV_32F);
for (int i =0; i < vfv_net_quie.size();i++)
{
for (int j = 0;j<24;j++)
{
samples.at<float>(i,j)=(float)vfv_net_quie[i].vfv[j];
}
}
cv::flann::Index flann_index(
samples,
cv::flann::KDTreeIndexParams(4),
cvflann::FLANN_DIST_EUCLIDEAN
);
flann_index.save("c:\\index.fln");
D espués de que yo estoy tratando de cargarla y encontrar neiborhoods cercanos
cv::flann::Index flann_index(Mat(),
cv::flann::SavedIndexParams("c:\\index.fln"),
cvflann::FLANN_DIST_EUCLIDEAN
);
cv::Mat resps(vfv_reg_quie.size(), K, CV_32F);
cv::Mat nresps(vfv_reg_quie.size(), K, CV_32S);
cv::Mat dists(vfv_reg_quie.size(), K, CV_32F);
flann_index.knnSearch(sample,nresps,dists,K,cv::flann::SearchParams(64));
Y tiene una infracción de acceso en miniflann.cpp en la línea
((IndexType*)index)->knnSearch(_query, _indices, _dists, knn,
(const ::cvflann::SearchParams&)get_params(params));
Pl easy help
Un punto a tener en cuenta es que debe proporcionar el conjunto de datos original real, no solo un tapete con las dimensiones correctas. No está muy claro en la documentación de OpenCV, pero se menciona en la Sección 3.3.4 de la [documentación de flandes] (http://www.cs.ubc.ca/~mariusm/uploads/FLANN/flann_manual-1.6.pdf) – Sau
@Sau no es la Sección 3.3.4 hablando de Matlab y no de C++? ¿Ha verificado su comentario en OpenCV o en la versión C++ de flann? – t2k32316