вівторок, 17 грудня 2013 р.

Установка OpenCV на Mac OS X

К сожалению нет простого способа установить OpenCV, чем через терминал.
Вы можете найти несколько методов установки в Интернете, такие как:
  1. CMake
  2. MacPort
  3. Homebrew

В этом уроке мы будем использовать CMake.

Установка CMake

  1. Прежде всего, необходимо загрузить DMG-файл бинарного дистрибутива CMake здесь . Когда я устанавливал имя файла было  CMake-2.8.12.1-Darwin64-universal.dmg 
  2. После завершения установки вам будет предложено помесить CMake в /usr/bin , выберите Да и закончите установку
  3. Для проверки того, что CMake был успешно установлен, наберите в Терминале 
    CMake-version

Установка OpenCV


  1. Во-первых, загрузите исходные файлы стабильной версии OpenCV (в моем случае 2.4.7) здесь.
  2. Извлеките файлы в папку и перейдите в эту папку через терминал, например 
    cd ~/Downloads
    tar -xvf opencv-2.4.7.tar
    cd opencv-2.4.7
  3. Теперь, произведем сборку и установку OpenCV в Терминале, следующие команды должен быть успешно выполнены (без ошибок)
  4. mkdir build
    cd build
    cmake -G "Unix Makefiles" ..
    make -j8
    sudo make install
    
  5. Теперь все готово, чтобы использовать OpenCV!

Пример OpenCV проекта


Теперь, когда мы установили библиотеку OpenCV, давайте попробуем сделать простой OpenCV проект. В качестве основного проекта-образца возьмем проект Tilo Mitra  здесь. Огромное спасибо ему! Но я буду добавлять несколько дополнительных шагов для решения ошибок, когда я запускал свой ​​проект в Xcode 5.
  1. Создаем новый проект Xcode для консольного приложения C++ (Command Line Tool project of type C++).
  2. Мы должны добавить .dylib-файлы OpenCV в наш проект. Чтобы сделать это, щелкните правой кнопкой мыши на проекте, и выберите "Add files to.."
  3. Когда Finder всплывает, нажмите кнопку "/" воспитывать панель навигации.
  4. Введите  /usr/local/lib/
  5. Добавим всех .dylib-файлы, которые нам нужны. Для предотвращения ошибки компоновщика, я рекомендую вам сначала добавить все файлы с расширением "... 2.4.7.dylib". 
  6. Теперь, вы должны иметь кучу .dylib-файлов в вашем проекте. Не стесняйтесь, чтобы переместить их в отдельную группу в рамках вашего проекта.
  7. Нажмите на файле проекта и перейти к "Build Settings".
  8. Найдите "Header Search Paths"
  9. Дабавляем путь к  /usr/local/include.  Здесь были построены файлы заголовков для OpenCV.
  10. Найдите "Library Search Paths"
  11. Добавляем путь к  /usr/local/lib
  12. Откроем main.cpp
  13. Переходим в меню File> Project Settings. В Derived Data Location выбираем Project-Relative
  14. Скопируйте следующий фрагмент кода. Этот фрагмент должен загрузить изображение из JPG-файла и сохранить его в виде PNG-файла.

// Example showing how to read and write images
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv/cvaux.h>

int main(int argc, char** argv)
{
  IplImage * pInpImg = 0;

  // Load an image from file - change this based on your image name
  pInpImg = cvLoadImage("my_image.jpg", CV_LOAD_IMAGE_UNCHANGED);
  if(!pInpImg)
  {
    fprintf(stderr, "failed to load input image\n");
    return -1;
  }

  // Write the image to a file with a different name,
  // using a different image format -- .png instead of .jpg
  if( !cvSaveImage("my_image_copy.png", pInpImg) )
  {
    fprintf(stderr, "failed to write image file\n");
  }

  // Remember to free image memory after using it!
  cvReleaseImage(&pInpImg);

  return 0;
}

Обратите внимание, что в 4-й строке я изменил cvauk.hpp (Tilo Mitra's tutorial) на cvauk.h , потому в новой версии, по каким-то причинам, изменился заголовочный файл на .h вместо .hpp.

В 11 строке для упрощения загрузки изображения из файла используем cvLoadImage. По умолчанию файлы сборки проекта генерируются в ~/Library/Developer/Xcode/DerivedData  папке, и мы должны разместить свой файл изображения в той же папке, что и файлы сборки. Используя настройку project-relative, файлы сборки будут храниться в нашей папке проекта, поэтому мы можем положить свой "my_image.jpg" просто в папку проекта, то есть разместить его в ${SRCROOT}/DerivedData/PROJECT_NAME/Build/Product/Debug

Чтобы запустить проект просто нажимаем Ctrl + R, и мы получаем JPG конвертер PNG!

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments