#include <visp3/core/vpPixelMeterConversion.h>
#include <visp3/gui/vpDisplayOpenCV.h>
#include <visp3/io/vpVideoReader.h>
#include <visp3/vision/vpHomography.h>
#include <visp3/vision/vpKeyPointSurf.h>
int main(int argc, const char **argv)
{
#if defined(VISP_HAVE_OPENCV_NONFREE) && (VISP_HAVE_OPENCV_VERSION < 0x030000)
int method = 0;
if (argc > 1)
method = atoi(argv[1]);
if (method == 0)
std::cout << "Uses Ransac to estimate the homography" << std::endl;
else
std::cout << "Uses a robust scheme to estimate the homography" << std::endl;
vpKeyPointSurf surf;
surf.buildReference(I);
corner_ref[0].
set_ij(115, 64);
corner_ref[1].
set_ij(83, 253);
corner_ref[2].
set_ij(282, 307);
corner_ref[3].
set_ij(330, 72);
for (unsigned int i = 0; i < 4; i++) {
}
unsigned int nbMatch = surf.matchPoint(I);
std::vector<vpImagePoint> iPref(nbMatch),
iPcur(nbMatch);
std::vector<double> mPref_x(nbMatch), mPref_y(nbMatch);
std::vector<double> mPcur_x(nbMatch), mPcur_y(nbMatch);
std::vector<bool> inliers(nbMatch);
for (unsigned int i = 0; i < nbMatch; i++) {
surf.getMatchedPoints(i, matched_ref, matched_cur);
iPref[i] = matched_ref;
iPcur[i] = matched_cur;
}
double residual;
if (method == 0)
(
unsigned int)mPref_x.size() / 2, 2.0 / cam.
get_px(),
true);
else
for (int i = 0; i < 4; i++) {
}
for (int i = 0; i < 4; i++) {
}
for (unsigned int i = 0; i < nbMatch; i++) {
if (inliers[i] == true)
else
}
break;
}
#else
(void)argc;
(void)argv;
#endif
return 0;
}