Tlya 1 Жалоба Опубликовано May 20, 2017 Здравствуйте! Объясните пожалуйста. Все источники пишут, что метод matchShapes() используется в купе с моментами, но каким образом если он в качестве параметров принимает только списки контуров и метод? И как их туда запихнуть? И если получится их применить, то какие моменты надо использовать, чтобы получить независимость от масштаба и поворота? (центральных или Hu-моментов?) п.с. Интересная статья) Большая часть про моменты, а потом берут и для сравнения используют просто список контуров http://robocraft.ru/blog/computervision/867.html Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 20, 2017 Моменты используются внутри MatchShapes, на вход функция принимает контуры. Посмотрите здесь, вроде простой пример: http://derykstack.blogspot.ru/2014/07/example-using-matchshapes-in-opencv.html Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Tlya 1 Жалоба Опубликовано May 20, 2017 То есть я правильно понял, мы используем эту функцию, закидывая туда наши контуры, а она уже сама (внутри) высчитывает моменты (и Hu в том числе) для каждого контура и сравнивает их моменты? А для чего тогда cvGetCentralMoment( CvMoments* moments, int x_order, int y_order ); ? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 21, 2017 Да, правильно. cvGetCentralMoment нужна когда нужно вычислить именно моменты как есть, например для поиска центра масс и осей инерции. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Tlya 1 Жалоба Опубликовано May 21, 2017 понял, спс Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах