Khludenkov 1 Report post Posted August 3, 2016 Здравствуйте. Продолжаю делать ститчинг на кортексе А8. Имеется вопрос: можно ли сделать поиск особенностей не на всём снимке а на его части, допустим в правой половине снимка. Как вариант думаю взять ROI для правой половины, искать там features обычным способом (find features) а затем как-то оттранслировать эти точки на исходный снимок. Как вариант перебором в цикле и сложением с вектором смещения. Или всё-таки есть опции для findfeatures, позволяющие делать поиск особенностей на части снимка? Share this post Link to post Share on other sites
Smorodov 578 Report post Posted August 3, 2016 Так с ROI нормальный вариант, просто потом добавить смещение к координатам найденых точек и все, дескрипторы описывают локальную окрестность, они не зависят от координат точки, поэтому их можно не менять. Share this post Link to post Share on other sites
Khludenkov 1 Report post Posted August 3, 2016 Спасибо. К слову. Заметил, что на линуксе на ПК код ститчера выполняется втрое (!) быстрее чем на том же ПК под виндой в visual studio. Share this post Link to post Share on other sites
Smorodov 578 Report post Posted August 3, 2016 Зависит от библиотек (openMP, openCL,TBB, ...), компилятора (попробуйте тот же Intel-овский) , используемых при сборке OpenCV и конечного приложения, от опций. Share this post Link to post Share on other sites
Khludenkov 1 Report post Posted August 3, 2016 Ещё заметил, в стандартном коде ститчера есть поиск соответствий между особыми точками: vector<MatchesInfo> pairwise_matches; BestOf2NearestMatcher matcher(try_gpu, match_conf); matcher(features, pairwise_matches); matcher.collectGarbage(); То есть он просто берёт все точки со всех снимков и смотрит кучей. Думаю тоже поделить: чтобы вначале искать соответствия между 1-м и вторым снимками, затем 2-м и 3-м и так далее. Share this post Link to post Share on other sites