日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

opencv移植

發布時間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv移植 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注:本篇博客已經棄用,請不要浪費時間閱讀,筆者有空會更新最新的移植教程~ 最新文章移植opencv3.2.0含opencv_contrib

一. 移植依賴庫

主要需要移植如下幾個依賴庫:

  • zlib-1.2.11
  • jpegsrc.v9b
  • libpng-1.6.29
  • yasm-1.3.0
  • x264-snapshot-20170415-2245
  • xvidcore_1.3.3.orig
  • ffmpeg-2.8.11
  • 下載地址,鏈接: https://pan.baidu.com/s/1X_Dogbvo_vY4X8zLBRpVcA 提取碼: m6f2

    編譯器版本:

    虛擬機:

    安裝編譯器可以參考:Ubuntu20.04安裝arm-linux-gcc4.4.3交叉編譯器

    1. zlib交叉編譯

    先確定好依賴庫安裝的路徑,筆者是 /home/incipe/opencv_depend

    ./configure --prefix=/home/incipe/opencv_depend

    修改 Makefile

    make && make install

    2. libjpeg交叉編譯

    ./configure --host=arm-linux-gnueabi CC=arm-linux-gnueabi-gcc --prefix=/home/incipe/opencv_depend --enable-shared --enable-static

    make && make install

    3. libpng交叉編譯

    ./configure --host=arm-linux --prefix=/home/incipe/opencv_depend --enable-shared --enable-static

    make && install

    4. yasm交叉編譯

    CC=arm-linux-gnueabi-gcc ./configure --enable-shared --host=arm-linux-gnueabi --disable-asm --prefix=/home/incipe/opencv_depend

    make && make install

    5. libx264交叉編譯

    CC=arm-linux-gnueabi-gcc ./configure --enable-shared --host=arm-linux-gnueabi --disable-asm --prefix=/home/incipe/opencv_depend

    make && make install

    6. libxvid交叉編譯

    解壓 xvidcore_1.3.3.orig.tar.gz 進入子文件夾。

    cd ./build/generic

    ./configure --prefix=/home/incipe/opencv_depend --host=arm-linux-gnueabihf --disable-assembly

    make && make install

    7. ffmpe交叉編譯

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

    make && make install

    這個過程有點久~

    二. 把依賴庫拷貝到arm-linux-gnueabi路徑下

    cp /home/incipe/opencv_depend/include /usr/local/bin/arm-2014.05/arm-none-linux-gnueabi/ -rf cp /home/incipe/opencv_depend/lib /usr/local/bin/arm-2014.05/arm-none-linux-gnueabi/ -rf

    三. 交叉編譯安裝opencv3.2.0

    官網下載地址:https://opencv.org/releases/

    解壓后進入 opencv3.2.0 路徑,新建 build 文件夾,cd build

    vim toolchain.cmake

    ###########user defined############# set( CMAKE_SYSTEM_NAME Linux ) set( CMAKE_SYSTEM_PROCESSOR arm ) set( CMAKE_C_COMPILER arm-linux-gnueabi-gcc ) set( CMAKE_CXX_COMPILER arm-linux-gnueabi-g++ ) ###########user defined############# set( CMAKE_FIND_ROOT_PATH "/home/incipe/opencv_depend" ) 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

    如果沒有 cmake-gui 先安裝:

    sudo apt-get install cmake-qt-gui

    在 build 目錄下運行 cmake-gui

    增加源代碼路徑,編譯路徑和安裝路徑。

    接下來取消這些選項:

    • 去掉 WITH_CUDA
    • 去掉 WITH_GTK
    • 去掉 WITH_1394
    • 去掉 WITH_GSTREAMER
    • 去掉 WITH_LIBV4L
    • 去掉 WITH_TIFF
    • 去掉 BUILD_OPENEXR
    • 去掉 WITH_OPENEXR
    • 去掉 BUILD_opencv_ocl
    • 去掉 WITH_OPENCL(注意區分OPENGL與OPENCL的區別)
    • 去掉 WITH FFMPEG

    取消之后點擊 Configure 之后再點擊 Generate 即可。

    關閉 cmake-gui

    修改CMakeCache.txt

    編譯安裝

    sudo make

    sudo make install

    這個耗時非常長!!!

    安裝完畢之后在 build 目錄下會有 install 文件夾包含 include 和 lib ,就是我們需要的頭文件和庫文件了。

    把 include 下的內容拷貝到 /usr/local/include 目錄下。

    把 lib 下的內容拷貝到 /usr/local/bin/arm-2014.05/arm-none-linux-gnueabi/lib 即可。

    拷貝的時候記得加上 -rf 選項,這樣會把 pkgconfig 也一起拷貝,pkgconfig 目的是為了方便編譯的。

    詳解:https://www.cnblogs.com/woshijpf/articles/3840840.html

    四. 編譯opencv代碼

    arm-linux-gnueabi-gcc -o puzzle puzzle.o -I /usr/local/include `pkg-config --cflags --libs opencv` -std=c++11

    五. 總結與注意

    本博客參考 虛擬機交叉編譯openCV詳細步驟及bug解決詳解

    因為這篇博客是后面補上的,所以中間具體遇到什么問題不記得了(問題應該不多,之前是因為安裝opencv2.4,所以總是安裝不上,換了好幾個版本,opencv3.2.0終于成功了),如果有安裝問題的,歡迎留言。

    總結

    以上是生活随笔為你收集整理的opencv移植的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。