一、簡介
本文主要講在樹莓派中編譯Opencv3.4.1和OpenCVSharp庫,方便C#開發人員可以通過Mono或者Netcore運行C#通過OpenCVSharp寫的OpenCV庫。
二、過程
樹莓派3b安裝OPENCV3.4.1 apt-get install -y build-essential cmake \ libgtkglext1-dev libvtk6-dev \ zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libopenexr-dev libgdal-dev && \ add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" && apt update && apt install libjasper1 libjasper-dev && \ apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev \ libtbb-dev libeigen3-dev \ python-dev python-tk python-numpy python3-dev python3-tk python3-numpy OPENCV_VERSION=3.4.1 wget ${OPENCV_VERSION}.zip && unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip && mv opencv-${OPENCV_VERSION} OpenCV wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip && mv opencv_contrib-${OPENCV_VERSION} OpenCV_contrib 下列命令執行時,注意檢測OPENCV_EXTRA_MODULES_PATH設置的路徑為剛剛解壓的OpenCV_contrib路徑。 apt-get install libhdf5-dev apt-get install libtiff5-dev apt-get install libtiffxx0c2 cd OpenCV && mkdir build && cd build && \ cmake \ -D OPENCV_EXTRA_MODULES_PATH=/usr/local/opencv/OpenCV_contrib/modules \ -D CMAKE_BUILD_TYPE=RELEASE \ -D BUILD_EXAMPLES=OFF \ -D BUILD_DOCS=OFF \ -D BUILD_PERF_TESTS=OFF \ -D BUILD_TESTS=OFF \ -D BUILD_opencv_java=OFF \ -D BUILD_opencv_python=OFF \ .. && make -j4 && make install && ldconfig # Download OpenCvSharp OPENCVSHARP_VERSION=3.4.1.20180605 git clone https://github.com/shimat/opencvsharp.git cd opencvsharp && git fetch --all --tags --prune && git checkout ${OPENCVSHARP_VERSION} mkdir /opencvsharp/make cd /usr/local/opencv/OpenCvSharp/opencvsharp/make && cmake -D CMAKE_INSTALL_PREFIX=/usr/local/opencv/OpenCvSharp/opencvsharp/make /usr/local/opencv/OpenCvSharp/opencvsharp/src && make -j 4 && make install
三、使用
編譯好后,請把OpenCVSharp編譯生成的/usr/local/opencv/OpenCvSharp/opencvsharp/make/lib下的所有文件和OpenCV編譯生成的/usr/local/opencv/OpenCV/build/lib的文件Copy到/usr/lib下。