1. 程式人生 > >opencv2.4.9移植到arm板上

opencv2.4.9移植到arm板上

感謝這個資源共享的世界!美好的世界!

一:環境

     ubuntu 14.0.4

     交叉編譯器:4.5.1

二:交叉編譯器的安裝(後面有所有的檔案下載地址)

三:依賴庫的安裝:(沒寫解壓的命令)

  1):  

       zlib-1.2.7.tar.gz

             CC=arm-linux-gcc ./configure --prefix =/home/opencvAll  –shared

             make

             make install 

           可能出現的狀況:好像這兒 我美出現什麼狀況,只要把編譯器的路徑搞好了。

  2):jpegsrc.v8c.tar.gz

              ./configure --prefix=/home/allLib --host=arm-none-linux-gnueabi--enable-shared

              make

              make install

             可能出現的狀況:沒遇見

  3):libpng-1.5.14.tar.bz2(依賴zlibz)

             CC=arm-linux-gcc./configure --prefix=/home/allLib --host=arm-linux  LDFLAGS=-L/home/allLib/lib   CFLAGS=-I/home/allLib/include

             make

             make install

            可能遇見的問題:找不到zlib相關的依賴庫 LDFLAGS=-L/home/allLib/lib   CFLAGS=-I/home/allLib/include

  4):x264-snapshot-20120528-2245-stable.tar.bz2

CC=arm-linux-gcc ./configure --host=arm-linux   --cross-prefix=arm-none-linux-gnueabi   --enable-shared    --prefix=/home/allLib

            make

            make install 

           可能遇見的問題:沒遇見。

  5):xvidcore-1.3.2.tar.gz

            cd  xvidcore/build/generic(要注意哦大笑

CC=arm-linux-gcc./configure --prefix=/home/allLib --host=arm-none-linux-gnueabi  --disable-assembly

             make

             make install

            可能遇見的問題:沒遇見。

   6):ffmpeg-0.10.3.tar.bz2(這個介紹一下:視音訊編解碼庫它的依賴庫x264和xvidcore)

              ./configure --prefix=/home/allLib   --enable-shared  --disable-static   --enable-gpl   --enable-cross-complie  --arch=arm --disable-stripping --target-os=linux --enable-libx264 --enable-libxvid  --cc=arm-none-linux-gnueabi-gcc --enable-swscale --extra-cflags=-I/home/allLib/include    --extra-ldflags=-L/home/allLib/lib--disable-asm

              make

              make install

             可能遇見的問題:./configure時候出現了 --arch-arm 寫錯   和依賴庫找不到   加   --extra-cflags=-I/home/allLib/include    --extra-ldflags=-L/home/allLib/lib--disable-asm

             ./configure --help 檢視configure的詳細用法。

  7):tiff-4.0.3.tar.gz

             CC=arm-linux-gcc ./configure --prefix=/home/allLib --host=arm-linux

              make

              make install

四:opencv2.4.9的安裝

          apt-get install cmake-gui cmake  (你不能上網的那 你就尷尬了大笑)

          cd opencv 2.4.9 

          mkdir arm_build

          cd arm_build

          gedit toolchain.cmake

set( CMAKE_SYSTEM_NAME Linux )

                      set(CMAKE_SYSTEM_PROCESSOR  arm )

                      set(CMAKE_C_COMPILER   arm-none-linux-gnueabi-gcc )

                      set(CMAKE_CXX_COMPILER  arm-none-linux-gnueabi-g++ )

                      set(CMAKE_FIND_ROOT_PATH  "/home/allLib/lib ")    ##這個是就是依賴庫的路徑

                      set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM  NEVER )

                      set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY  ONLY )

                      set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )

        cmake-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake ../

   進行一系列的配置:

     CMAKE_INSTALL_PREFIX    /usr/local/arm/opencv-install

     去掉 WITH_CUDA

     去掉 WITH_GTK

     去掉 WITH_1394

     去掉 WITH_GSTREAMER

     去掉 WITH_LIBV4L    (因為後面有另外一個WITH_V4L)

     去掉 WITH_TIFF

     去掉 BUILD_OPENEXR

     去掉 WITH_OPENEXR

     去掉 BUILD_opencv_ocl

     去掉 WITH_OPENCL

     根據自己的需要選擇編譯的選項,有的選項需要安裝相應的依賴的庫,否則編譯會出錯

     完成後 Generate

    修改 CMakeCache.txt, CMAKE_EXE_LINKER_FLAGS原來為空,加上 -lpthread -lrt  

        

          我配置出現的時候主要出現了什麼start的錯誤就是沒有把GIGEPA那個選項沒有去掉。

    make

      可能出現的錯誤:

            找不到前面的依賴庫的某個庫:

                     我的解決方法就是:把它所需要的庫cp 到 opencv2.4.9/arm_build/lib自我感覺這個方法很好當然也可以修改/etc/profile加LIB_LIBRARY_PATH=$LIB_LIBRARY_PATH:" /home/allLib/lib "

     make install  

資源:

       依賴包:

       http://download.csdn.net/detail/xzy_ok/9874347

       opencv2.4.9包:

      http://pan.baidu.com/s/1jIxFqqM

      我移植好了的opencv庫:

      http://download.csdn.net/detail/xzy_ok/9874361

GOOD LUCK!!!!生氣