摘要
本文概要記錄於Ubuntu作業系統啟動一個Docker容器來透過OpenCV函式庫進行攝影機畫面擷取的步驟。
本文
本文於Ubuntu 24.04作業系統上,參考這裡來安裝Docker引擎,隨後便執行一個Docker容器,於該容器上安裝OpenCV (Open Source Computer Vision Library)函式庫,接著使用Python程式搭配OpenCV來進行攝影機畫面擷取;其中,Docker容器的概念可以參考這裡,至於使用的攝影機為PlayStation Eye。
終端機(terminal)操作步驟分述如下:
- 啟動容器
- 安裝OpenCV
- 從預先建構的程式進行OpenCV安裝
- 從原始碼進行OpenCV安裝
- 執行Python程式以進行攝影機畫面擷取
- 完成
步驟具體講解可以參考這裡。
啟動容器
包含以下指令,分別是拉取映象檔、及實例化映象檔為一個容器;這裡的映象檔版本為noble標籤的ubuntu。
docker pull ubuntu:noble
docker run --name ubuntu-inst -it -e DISPLAY --net=host -v $XAUTHORITY:/root/.Xauthority --privileged=true -v ~/Downloads:/experiment ubuntu:noble bash
從預先建構的程式進行OpenCV安裝
包含以下指令,更新apt倉庫後直接安裝python3-opencv套件即可。
apt-get update
apt-get install python3-opencv
欲確認安裝結果可以執行python3直譯器並鍵入以下程式碼來進行檢視。
查詢OpenCV版本 |
從原始碼進行OpenCV安裝
包含以下指令,更新apt倉庫、安裝相依套件、下載原始碼、建構與安裝。
apt-get update
apt-get install cmake
apt-get install gcc g++
apt-get install python3-dev python3-numpy
apt-get install libavcodec-dev libavformat-dev libswscale-dev
apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
apt-get install libgtk-3-dev
apt-get install libpng-dev
apt-get install libjpeg-dev
apt-get install libopenexr-dev
apt-get install libtiff-dev
apt-get install libwebp-dev
apt-get install git
cd /experiment
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build
cd build
cmake ../
make
make install
欲確認安裝結果可以執行python3直譯器並鍵入以下程式碼來進行檢視。
查詢OpenCV版本,續 |
執行Python程式以進行攝影機畫面擷取
參考這裡,把範例程式儲存為tutorial_py_video_display.py檔案,再以python3直譯器執行之。
cd /experiment
python3 tutorial_py_video_display.py
擷取畫面如下所示。
從預先建構的程式進行OpenCV安裝後的攝影機擷取畫面 |
從原始碼進行OpenCV安裝後攝影機擷取畫面 |
範例程式 |
完成
包含以下指令,即離開(容器context)、刪除容器、和移除映象檔。
exit
docker rm -f ubuntu-inst
docker rmi ubuntu:noble
參考文獻
https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
https://docs.opencv.org/4.x/d2/de6/tutorial_py_setup_in_ubuntu.html
https://docs.opencv.org/4.x/dd/d43/tutorial_py_video_display.html
https://engineer-leo.blogspot.com/2017/12/docker-on-windows-10-pro.html
沒有留言:
張貼留言