樹莓派安裝opencv_3.1.0+opencv_contrib-3.1.0庫+調用CSI攝像頭


基本情況

樹莓派 3B+ 

opencv版本:3.1.0

contrib版本:3.1.0

准備

opencv和contrib庫下載

1 https://github.com/Itseez/opencv/archive/3.1.0.zip
2 https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip

樹莓派准備

1. 卸載不常用軟件

2. 安裝更新

1 sudo apt-get update 
2 sudo apt-get upgrade

3. 安裝依賴

編譯環境
 1 sudo apt-get install build-essential cmake pkg-config
圖像I/O包
 2 sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
視頻I/O包
 3 sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
 4 sudo apt-get install libxvidcore-dev libx264-dev
安裝GTK開發庫
 5 sudo apt-get install libgtk2.0-dev
安裝數學優化庫
 6 sudo apt-get install libatlas-base-dev gfortran
安裝python支持
 7 sudo apt-get install python2.7-dev python3-dev
安裝numpy支持
 8 pip install numpy

安裝過程

第1步:編譯

1  cd ~/opencv-3.1.0/
2  mkdir build
3  cd build
4  cmake -D CMAKE_BUILD_TYPE=RELEASE
5              -D CMAKE_INSTALL_PREFIX=/usr/local 
6              -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules
7              -D ENABLE_PRECOMPILED_HEADERS=OFF 
8              -D WITH_FFMPEG=OFF ..

第2步:安裝

1 make -j4
2 ''' 如果報錯:
3     sudo make clean
4     sudo make
5 '''
6 sudo make install
7 sudo ldconfig

驗證

1 python
2 import cv2

CSI攝像頭配置

第1步. 開啟攝像頭設備

1 sudo raspi-config //打開攝像頭
2 sudo reboot

3 sudo apt-get update
4 sudo apt-get upgrade 5 sudo rpi-update

 

第一步:驗證攝像頭是否開啟

1 ls -l /dev
2 //看最后五行是否有video0,沒有表示攝像頭驅動未開啟

第2步:開啟攝像頭配置

1 sudo nano /etc/modules-load.d/rpi-camera.conf
2 //添加以下內容
3 bcm2834-v4l2
4 Ctrl+o 保存
5 Ctrl+x 退出
6 sudo reboot

第3步:驗證

 

第4步:測試

  編寫程序,用opencv打開樹莓派CSI攝像頭

  保存為 test.cpp

 1 cd
 2 mkdir test
 3 nano test.cpp
//輸入以下代碼
 #include <opencv2/highgui/highgui.hpp>
 #include <opencv2/core/core.hpp>
 
 using namespace cv;
 
 int main()
 {
             VideoCapture cap(0);
             if(!cap.isOpened())  return -1;
            Mat frame;
             while(1){
                 cap>>frame;
                 imshow("OpenCV CAMERA", frame);
                 if(waitKey(20) >=0) break;
             }
         return 0;
 }
Ctrl+o 保存
Ctrl+x 退出
//編譯程序
1 g++ -I/usr/local/include/opencv2 -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"test.d" -MT"test.o" -o "test.o" "test.cpp"
2 g++ -L/usr/local/lib -o test test.o -lopencv_core -lopencv_highgui -lopencv_videoio
//運行程序
3 ./test

  出現實時視頻框,則表示可以在opencv中調用CSI攝像頭。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM