Я пытался установить opencv4.0.1 на человечности в течение нескольких недель теперь. Я следовал opencv инструкциям по установке, и я могу сделать и скомпилировать библиотеку, все же после установки, pkgconfig все еще, наклон находит библиотеку, и когда я пытаюсь создать программы, я получаю вещи как недостающие ошибки библиотеки.
$ pkg-config --cflags opencv
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Согласно этой проблеме, OpenCV отбросил поддержку pkg-конфигурации. Однако это может быть добавлено следующим образом:
Настроить
Когда Вы работаете cmake
добавьте дополнительный параметр -D OPENCV_GENERATE_PKGCONFIG=YES
например.
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..
Затем make
и sudo make install
как прежде.
Тест
Используйте имя opencv4
вместо просто opencv
например.
pkg-config --cflags opencv4
Сводка:
Этот метод загрузки, извлечения, компиляции и установки последний OpenCV 4.0.1 вручную. Рабочий пример кода main.cpp
также обеспечивается для демонстрации как доказательство успешной установки OpenCV.
Что такое OpenCV?
OpenCV является библиотекой обработки изображений, созданной Intel и позже поддерживаемой Гаражом Willow и теперь сохраняемой Itseez, Inc. OpenCV имеет в виду Библиотеку Intel® Open Source Computer Vision. Это - набор функций C и нескольких классов C++, которые реализуют некоторые популярные алгоритмы Обработки изображений и Машинного зрения. OpenCV Доступен на Mac, Windows, Linux (Терминальная среда).
Выполните шаги ниже для установки OpenCV:
Обновление Ubuntu 18.04.
Дайте следующие команды:
$ sudo apt-get update
$ sudo apt-get upgrade
Зависимости от установки.
Дайте следующую команду:
$ sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config\
libavcodec-dev libavformat-dev libswscale-dev python3.7 python3.7-dev python-numpy\
python-scipy python-matplotlib ipython python-pandas python-sympy python-nose\
libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libjasper-dev\
libdc1394-22-dev libeigen3-dev libtheora-dev libvorbis-dev libxvidcore-dev\
libx264-dev sphinx-common libtbb-dev yasm libfaac-dev libopencore-amrnb-dev\
libopencore-amrwb-dev libopenexr-dev libgstreamer-plugins-base1.0-dev libavutil-dev\
libavfilter-dev libavresample-dev
Получите OpenCV: Загрузите opencv 4.0.1 с Выпусков OpenCV и opencv 4.0.1 данных тестирования opencv_extra-master.zip.
Извлечение OpenCV 4.0.1 архивирует пакет
Теперь, когда Вы загрузили корректный пакет архива для своей системы в ~ / папка Downloads, выполнял следующие команды для извлечения OpenCV.
$ sudo mkdir /opt/opencv
Извлечь zip-файл opencv-4.0.1.zip
в /opt/opencv
папка, выполненная следующая команда:
$ sudo unzip ~/Downloads/opencv-4.0.1.zip -d /opt/opencv
Теперь извлечение opencv_extra-master.zip
то, которое является большим файлом размера 490,3 МБ, которые содержат тестовый иск, должно было протестировать opencv 4.0.1
. Выполните следующую команду для завершения извлечения:
$ sudo unzip ~/Downloads/opencv_extra-master.zip -d /opt/opencv/opencv-4.0.1
Установка symlink latest
указывая на текущую версию opencv-4.0.1
Дайте следующие команды для создания symlink
:
$ cd /opt/opencv
$ sudo ln -s opencv-4.0.1 latest
Почему Вам нужна последняя символьная ссылка?
Symlink latest
всегда текущая версия дорожек установки OpenCV.Завтра, давайте скажем, новая версия 5.0.1 прибывает, затем установите ту версию. Теперь Вы удаляете symlink latest
указывая на более старую версию 4.0.1, путем выдачи следующей команды:
$ sudo unlink /opt/opencv/latest
'Символьная ссылка последние' точки к текущей версии opencv-4.0.1, но прибытию новейшей версии 5.0.1 вызывает к серьезному 'символьную ссылку, последнюю' от версии 4.0.1.
Теперь создайте symlink latest
указывая на более новую версию 5.0.1 со следующей командой:
$ sudo ln -s opencv-5.0.1 latest
Теперь 'символьная ссылка последние' точки к более новой версии opencv-5.0.1. Обратите внимание на то, что нет такой версии, названной 5.0.1, это - просто 'вымышленное', используемое для демонстрации питания 'последней символьной ссылки'.
В то же время можно все еще сохранить более старую версию, не удаляя их. По некоторым причинам Вы хотите работать над более старой версией, Вы просто переключаетесь symlink latest
указание, что более старая версия и это - это! Вы не должны изменять никакие другие настройки.
В неродной 8 впоследствии, Вы будете настраивать PATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH, and OPENCV_TEST_DATA_PATH
переменные envirnement. Значения всех этих переменных среды включают symlink latest
, так, чтобы еще позже Вы переключились указывающий на более новую версию, эти настройки всегда остаются нетронутыми!
Установка OpenCV 4.0.1
пакет zip
Создайте временный каталог сборки release
, который мы обозначаем как <cmake_build_dir>
, где Вы хотите поместить сгенерированные Make-файлы, файлы проекта также объектные файлы и произвести двоичные файлы и войти там.
$ cd /opt/opencv/latest
$ sudo mkdir release
Чтобы создать и установить OpenCV, дайте следующую команду:
$ cd /opt/opencv/latest/release
$ sudo cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=YES -DCMAKE_INSTALL_PREFIX=/opt/opencv/opencv-4.0.1 /opt/opencv/opencv-4.0.1
Примечание:
-D OPENCV_GENERATE_PKGCONFIG=YES
.pc
файл для pkg-config
и установите его.cmake
в проектах то использование OpenCV
.От каталога сборки release
выполниться make
, рекомендуется сделать это в нескольких потоках:
$ cd /opt/opencv/latest/release
$ sudo make -j4 # runs 4 jobs in parallel
$ sudo make install
Обновить links/cache
который использует динамический загрузчик:
$ sudo ldconfig
Выполненный testsuite локально для opencv-4.0.1
Перед началом тестовых сценариев, OPENCV_TEST_DATA_PATH
переменная среды должна быть установлена.
$ export OPENCV_TEST_DATA_PATH=/opt/opencv/latest/opencv_extra-master/testdata
Дайте следующие команды для начала всех тестовых сценариев:
$ cd /opt/opencv/latest/release
$ sudo ./bin/opencv_test_core
Почему сделал тестовый сценарий Core_globbing.accuracy
неудавшийся?
Мы только что создали наши Источники OpenCV и попытались протестировать компиляцию путем выполнения "./bin/opencv_test_core"
от "/opt/opencv/latest/release"
папка.
Этот тестовый сценарий перестал работать, потому что нет никаких входных изображений, поэтому не берут никого .jpg
и .png
изображения и переименовывают эти 2 изображения как lena.jpg
и lena.png
и скопируйте их в "/opt/opencv/latest/release/bin"
папка и повторно выполненный все тестовые сценарии снова.
Дайте следующие команды, чтобы повторно выполнить все тестовые сценарии снова:
$ cd /opt/opencv/latest/release
$ sudo ./bin/opencv_test_core
Переменная окружения PATH установки
OpenCV должен установить PATH
переменные среды, который должен быть установлен как показано ниже.
Создайте названный файл opencv.sh
под /etc/profile.d/
каталог.
$ sudo touch /etc/profile.d/opencv.sh
$ sudo vi /etc/profile.d/opencv.sh
Добавьте следующее содержание:
#!/bin/sh
export PATH=/opt/opencv/latest/bin:/opt/opencv/latest/release/bin:${PATH}
export LD_LIBRARY_PATH=/opt/opencv/latest/release/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/opt/opencv/latest/lib/pkgconfig
export OPENCV_TEST_DATA_PATH=/opt/opencv/latest/opencv_extra-master/testdata
Сохраните и закройте файл. Сделайте это исполняемым файлом с помощью следующей команды.
$ sudo chmod +x /etc/profile.d/opencv.sh
Затем установите переменные среды постоянно путем выполнения следующей команды:
$ source /etc/profile.d/opencv.sh
Выйдите из системы или перезагрузите свою систему.
Теперь, проверьте PATH
переменная среды:
$ echo $PATH
PATH
переменная среды должна иметь /opt/opencv/latest/bin
каталог и /opt/opencv/latest/release/bin
каталог.
Где opencv4.pc?
Дайте следующие команды для определения местоположения opencv4.pc
:
$ sudo find /opt -name opencv4.pc
opencv4.pc был бы доступен в/opt/opencv/latest/lib/pkgconfig каталоге.
Теперь, проверьте python3.7 команду использования версии:
$ python3.7 version
Где opencv_version
двоичный файл расположен?
Теперь, проверьте местоположение opencv_version
использование следующей команды:
$ sudo updatedb # rebuild library cache
$ locate opencv_version | grep bin/opecv_version
opencv_version был бы расположен в/opt/opencv/latest/release/bin каталоге.
Теперь, проверьте opencv_version
использование команды:
$ opencv_version
Теперь проверять если OpenCV
установлен на машине, выполните следующие команды:
$ pkg-config --modversion opencv4
Демонстрационное тестирование:
~/code
каталог.main.cpp
main.cpp
в ~/code
каталогsample.jpg
менее чем 1 МБ размером в ~/code
каталог для тестирования.Дайте следующие команды:
$ cd ~/code
$ ls
Пример кода:
#include <opencv2/highgui.hpp>
#include <iostream>
int main( int argc, char** argv ) {
cv::Mat image;
image = cv::imread("sample.jpg" , cv::IMREAD_COLOR);
if (! image.data ) {
std::cout << "Could not open or find the image :";
std::cout << "sample.jpg" << std::endl ;
return -1;
}
cv::namedWindow( "Display window", cv::WINDOW_AUTOSIZE );
cv::imshow( "Display window", image );
cv::waitKey(0);
return 0;
}
Скомпилировать main.cpp
$ cd ~/code
$ g++ main.cpp -o output `pkg-config --cflags --libs opencv4`
Выполненный ./output
следующим образом:
$ ./output
Вывод из примера программы main.cpp
:
После создания библиотеки необходимо установить его, чтобы это было найдено, не указывая каталог сборки.
sudo make install
Это могло бы решить Вашу проблему.