Red de conocimiento del abogados - Bufete de abogados - Opencv3.0 no tiene SIFT. ¿Qué debo hacer con él? . .

Novato, cabrón, por favor dame un consejo.

Opencv3.0 no tiene SIFT. ¿Qué debo hacer con él? . .

Novato, cabrón, por favor dame un consejo.

void sift _ detector _ y _ descriptores(IPL image * I _ left, IplImage * i_right)

{

Mat mat_image_left=Mat(i_left, false);

Mat mat_image_right=Mat(i_right, false);

cv::SiftFeatureDetector * p detector = new cv::SiftFeatureDetector;

pDetector-& gt; _ key _ point);

pDetector-& gt; detect(mat_image_right, right_key_point);

Mat left_image_descriptors, right_image_descriptors

cv::SiftDescriptorExtractor * descriptor _ extractor = nuevo cv::SiftDescriptorExtractor;

descriptor_extractor->compute(mat_image_left, left_key_point, left_image_descriptors);

descriptor_extractor->compute (mat_image_right, right_key_point, right_image_descriptors);

Mat result_l, result_r;

drawKeypoints(mat_image_left, left_key_point, result_l, Scalar::all(-1), 0);

drawKeypoints(mat_image_right, right_key_point, result_r, Scalar::all(-1), 0);

//im show(" resultado _ de _ izquierda _ detector _ sift ", resultado _ l); im show(" resultado _ de _ derecha _ detector _ sift ", resultado _ r);

Resultado del mat _ de _ sift_match

BruteForceMatcher & ltL2<float & gt& gtmatcher

coincidencia. );

imwrite("matches_of_sift.jpg ", resultado _ de _ sift _ match

}

void main()

<); p>{

ipimage * n _ left _ image = cvLoadImage(" D:\ \ ​​​​Lena . jpg ");

ipimage * n _ right _ image = cvLoadImage( " D:\ \ ​​​​Lena _ r . jpg ");

sift_detector_and_descriptors(n_left_image,n_right_image);

cvWaitKey(0);

}

Este es mi código para implementar la coincidencia SIFT, así que puedo entender por qué usas drawMatchesKnn(). Cada versión admite tamizado, independientemente de la versión.