как я устанавливаю opencv4.0 на 18,10?

Я пытался установить 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
3
задан 23 March 2019 в 03:38

3 ответа

Согласно этой проблеме, 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
4
ответ дан 1 December 2019 в 13:22

Сводка:

Этот метод загрузки, извлечения, компиляции и установки последний 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:

  1. Обновление Ubuntu 18.04.

    Дайте следующие команды:

    $ sudo apt-get update
    $ sudo apt-get upgrade
    
  2. Зависимости от установки.

    Дайте следующую команду:

    $ 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
    
  3. Получите OpenCV: Загрузите opencv 4.0.1 с Выпусков OpenCV и opencv 4.0.1 данных тестирования opencv_extra-master.zip.

  4. Извлечение 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
    
  5. Установка symlink latest указывая на текущую версию opencv-4.0.1

    Дайте следующие команды для создания symlink:

    $ cd /opt/opencv
    $ sudo ln -s opencv-4.0.1 latest
    

    enter image description here

    Почему Вам нужна последняя символьная ссылка?

    • 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, так, чтобы еще позже Вы переключились указывающий на более новую версию, эти настройки всегда остаются нетронутыми!

  6. Установка 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
    

    Примечание:

    • добавьте этот флаг при выполнении cmake: -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
    
  7. Выполненный 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
    

    Test case Core_globbing.accuracy failed

    Почему сделал тестовый сценарий 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
    

    Test case passed

  8. Переменная окружения 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 каталог.

  9. Где 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
    

    enter image description here

  10. Демонстрационное тестирование:

    • Создайте папку ~/code каталог.
    • Сохраните следующую программу как main.cpp
    • Переместиться main.cpp в ~/code каталог
    • Добавьте a 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:

    enter image description here

3
ответ дан 1 December 2019 в 13:22

После создания библиотеки необходимо установить его, чтобы это было найдено, не указывая каталог сборки.

sudo make install

Это могло бы решить Вашу проблему.

0
ответ дан 1 December 2019 в 13:22

Другие вопросы по тегам:

Похожие вопросы: