dyn*_*mic 11 c++ opencv computer-vision feature-detection orb
我正在使用特征提取(筛选,orb)进行对象检测.
我想从对象的不同视角(训练图像)中提取ORB特征,然后将它们与查询图像进行匹配.
我面临的问题是:如何从不同角度的关键点创建一个良好的单应性,这些关键点当然具有不同大小的图像?
我正在考虑为每个火车图像创建一个单应性,然后说3-4个匹配,然后计算一些"均值"单应...
例如,当您从每个火车图像中说出1-2个匹配时,会出现问题,此时您无法创建甚至1个单应性
创造单应性的代码
//> For each train images with at least some good matches ??
H = findHomography( train, scene, CV_RANSAC );
perspectiveTransform( trainCorners, sceneCorners, H);
Run Code Online (Sandbox Code Playgroud)
我认为这样做是没有意义的,因为当你谈论单应性时,A和B与一对图像B和C无关.您将得到不同的良好匹配和不同的单应性,但是单应性将是无关的,没有错误最小化将有一点.
所有最小化必须在考虑仅一对图像的匹配,关键点和描述符内.
有一个类似于你在FREAK描述符中提出的想法.您可以使用一组图像训练选定的对.这意味着FREAK将根据一组图像决定提取描述符的最佳模式.在这次训练之后,你应该找到更强大的数学,这将给你一个更好的单应性.