樹莓派學習:源碼方式安裝opencv

1:下載若干依賴項:python

  更新軟件源:sudo apt-get update/upgrade;linux

  依次安裝一下依賴項:ios

  sudo apt-get install build-essential
  sudo apt-get install cmake
  sudo apt-get install libgtk2.0-dev
  sudo apt-get install pkg-config
  sudo apt-get install python-dev python-numpy
  sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev

2:獲取源代碼:本人從opencv官網下載opencv2.4.10的linux版本。創建opencv文件夾,解壓opencv2.4.10與opencv內。工具

  unzip opencv-2.4.10.zip測試

3:編譯源代碼:ui

  進入opencv源代碼目錄,新建一個名爲release的文件夾:spa

cd /home/pi/opencv/opencv-2.4.10
mkdir release
cd release
使用cmake工具在該文件夾中生成makefile文件,指定opencv的安裝目錄爲/usr/local/
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_FFMPEG=OFF -D CMAKE_INSTALL_PREFIX=/usr/local ..
注意須要加上-D WITH_FFMPEG=OFF,否則編譯過程當中會出現錯誤。緣由是ffmpeg的更新問題。
編譯源代碼的時間很是的長。
make
sudo make install;
 
4:測試
test.cpp
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main (int argc, char **argv)
{
    Mat image, image_gray;
    image = imread(argv[1], CV_LOAD_IMAGE_COLOR );
    if (argc != 2 || !image.data) {
        cout << "No image data\n";
        return -1;
    }
   
    cvtColor(image, image_gray, CV_RGB2GRAY);
    namedWindow("image", CV_WINDOW_AUTOSIZE);
    namedWindow("image gray", CV_WINDOW_AUTOSIZE);
   
    imshow("image", image);
    imshow("image gray", image_gray);
   
    waitKey(0);
    return 0;
}

 CMakeLists.txtcode

 

cmake_minimum_required(VERSION 2.8)
project(test)
find_package(OpenCV REQUIRED)
add_executable(test test.cpp)
target_link_libraries(test ${OpenCV_LIBS})

  cmake . 生成Makefile文件,注意「.」不能少orm

  make編譯生成test程序。blog

  ./test 1.jpg 進行測試

相關文章
相關標籤/搜索