Системная информация (версия)
OpenCV => 3.4.4
Платформа => ARM (armeabiv7-a)
Уровень Android API => 24
Компилятор => Clang 5.0
Android STL => gnustl_shared
ВЕРСИЯ NDK => NDK 15c
ИСПОЛЬЗУЕТСЯ ИНСТРУМЕНТАЛЬНО => OpenCV 3.4.4 набор инструментов android.
Цель моего запроса
Opti => NEON для Opencv (armeabiv7-a с NEON)
Введение
Мой проект будет использовать многие вещи с Opencv, в Window мы не можем видеть задержки, однако в Android мы можем их видеть.
После прочтения большого количества статей / форумов / каналов о Opencv сAndroid, я видел, что Opencv нужен NEON на Android, ARM, чтобы делать что-то хорошо и без задержек и работать с оптимизацией
Настроить / сделать Shared Lib
Итак, на сегодняшний день,Я скачал источники OpenCv 3.4.4 с официального сайта, я запустил его в свой CMAKE-GUI, я сделал много исправлений для успешной сборки, но хотел бы отметить, что я не отключил основные модули из opencv, как (core или любые другие).
(Если необходимо, я могу разместить здесь свой вывод cmake.)
Затем, после настройки и создания, у меня есть общая библиотекакоторый будет связан с моим проектом Android Studio cmakelists и другими вещами ..
После правильной синхронизации я создал свой проект.
Произошли ошибки при Android Studio, скомпилировавшем проект
Итак, я столкнулся с несколькими неопределенными символами только с opencv.
Мы можем их видеть:
error: undefined reference to 'cv::read(cv::FileNode const&, std::__ndk1::vector<cv::KeyPoint, std::__ndk1::allocator<cv::KeyPoint> >&)'
error: undefined reference to 'cv::write(cv::FileStorage&, cv::String const&, std::__ndk1::vector<cv::KeyPoint, std::__ndk1::allocator<cv::KeyPoint> > const&)'
error: undefined reference to 'cv::KeyPointsFilter::retainBest(std::__ndk1::vector<cv::KeyPoint, std::__ndk1::allocator<cv::KeyPoint> >&, int)'
error: undefined reference to 'cv::read(cv::FileNode const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)'
error: undefined reference to 'cv::KeyPointsFilter::retainBest(std::__ndk1::vector<cv::KeyPoint, std::__ndk1::allocator<cv::KeyPoint> >&, int)'
error: undefined reference to 'cv::KeyPointsFilter::retainBest(std::__ndk1::vector<cv::KeyPoint, std::__ndk1::allocator<cv::KeyPoint> >&, int)'
error: undefined reference to 'cv::DescriptorMatcher::knnMatch(cv::_InputArray const&, cv::_InputArray const&, std::__ndk1::vector<std::__ndk1::vector<cv::DMatch, std::__ndk1::allocator<cv::DMatch> >, std::__ndk1::allocator<std::__ndk1::vector<cv::DMatch, std::__ndk1::allocator<cv::DMatch> > > >&, int, cv::_InputArray const&, bool) const'
error: undefined reference to 'cv::DescriptorMatcher::knnMatch(cv::_InputArray const&, cv::_InputArray const&, std::__ndk1::vector<std::__ndk1::vector<cv::DMatch, std::__ndk1::allocator<cv::DMatch> >, std::__ndk1::allocator<std::__ndk1::vector<cv::DMatch, std::__ndk1::allocator<cv::DMatch> > > >&, int, cv::_InputArray const&, bool) const'
error: undefined reference to 'cv::KeyPointsFilter::retainBest(std::__ndk1::vector<cv::KeyPoint, std::__ndk1::allocator<cv::KeyPoint> >&, int)'
error: undefined reference to 'cv::DescriptorMatcher::knnMatch(cv::_InputArray const&, cv::_InputArray const&, std::__ndk1::vector<std::__ndk1::vector<cv::DMatch, std::__ndk1::allocator<cv::DMatch> >, std::__ndk1::allocator<std::__ndk1::vector<cv::DMatch, std::__ndk1::allocator<cv::DMatch> > > >&, int, cv::_InputArray const&, bool) const'
error: undefined reference to 'cv::DescriptorMatcher::knnMatch(cv::_InputArray const&, cv::_InputArray const&, std::__ndk1::vector<std::__ndk1::vector<cv::DMatch, std::__ndk1::allocator<cv::DMatch> >, std::__ndk1::allocator<std::__ndk1::vector<cv::DMatch, std::__ndk1::allocator<cv::DMatch> > > >&, int, cv::_InputArray const&, bool) const'
error: undefined reference to 'cv::drawKeypoints(cv::_InputArray const&, std::__ndk1::vector<cv::KeyPoint, std::__ndk1::allocator<cv::KeyPoint> > const&, cv::_InputOutputArray const&, cv::Scalar_<double> const&, int)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Я не знаю, что она делает, но яМне нужны эти оптимизации, и я буду очень признателен, если у вас есть что рассказать.
С наилучшими пожеланиями !!