WINDOWS์์๋ GIT ์์ค๋ฅผ GUI๋ก ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ TOOL
1.GitHub Desktop ์ ์คํํฉ๋๋ค.
(์ค์น ์ํ์ ๋ถ๋ค์ ์ฌ๊ธฐ ๋งํฌ ์ฐธ๊ณ ํ์ ์ Github Desktop ์ ์ค์นํ์ธ์.)
2.Clone ํ๋ ค๋ github ์ repository url ์ ๋ณต์ฌํฉ๋๋ค.
๋ณต์ฌํ๋ https://github.com/S-RSH/IoTCloudPlatfoam.git๊ฐ ๋์ต๋๋ค.
3.GitHub Desktop ์์ Add -> Clone repository ๋ฅผ ํด๋ฆญํฉ๋๋ค.
Local path ๊ฒฝ๋ก๋ฅผ ํ์ธํด๋ณด๋ฉด IoTCloudPlatfoam๋ผ๋ ์ด๋ฆ์ ๋น ํด๋๊ฐ ์์ฑ๋์ ๊ฒ์ ํ์ธํด๋ณด์ค ์ ์์ต๋๋ค.
github desktop์ ํ์ธํด๋ณด์๋ฉด _โป_aws_setting.txt ํ์ผ์ด ์๋ก ์ฌ๋ผ์จ ๊ฒ์ ํ์ธํด๋ณด์ค ์ ์์ต๋๋ค.
Raspberry Pi 4B์ 3๊ฐ์ง๋ฅผ ๋ค์ด๋ก๋ ํ๋ค. AWS CLI, Boto3, Open CV.
AWS CLI - AWS๋ฅผ ์ปค๋งจ๋๋ก ์ฌ์ฉํ๊ธฐ ์ํด ๋ค์ดํ๋ค.
Boto3 - Python์ฉ AWS SDK์ด๋ค. Boto3๋ฅผ ์ฌ์ฉํ๋ฉด Python Script๋ฅผ AWS S3, DynamoDB, SNS ๋ฑ AWS ์๋น์ค์ ์ฝ๊ฒ ์ฐ๋ํ ์ ์๋ค.
Open CV - Open CV ์คํ ์์ค ์ค์์ videocapture ํด๋์ค๋ฅผ ์ด์ฉํ์ฌ ์นด๋ฉ๋ผ ์ ๋ ฅ๊ณผ ๋์์ ํ์ผ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ํด ์ฌ์ฉํ์๋ค.
Raspberry Pi termianl์ ์ด๊ณ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
pip3 install awscli
IAM Console ์ธ์ฆ์ ์ฌ์ฉํ์๋ค.
1.IAM ์ฌ์ฉ์ ์์ฑ
raspberrypiuser๋ฅผ ์ฌ์ฉ์ ์ด๋ฆ์ ์ ๋ ฅํ๊ณ ์๊ฒฉ ์ฆ๋ช ์ ํ ์ ํ์์ ์ก์ธ์ค ํค๋ฅผ ์ ํํ ํ ๋ค์์ผ๋ก ๋์ด๊ฐ๋ค.
์ฌ๋ฌ ์ต์ ์ด ๋์จ๋ค. ์ฌ์ฉํด์ผํ ์ ์ฑ ๋ค์ ์ด๋ฏธ ์ ํ๋ค๋ฉด ํด๋น ์ ์ฑ ์ ์ฌ์ฉํ๋ค. ์๋ชจ๋ฅด๊ฒ ๋ค๋ฉด AdministratorAccess์ ์ ํํ๋ค. ์ต๊ณ ๊ถํ์ ๊ฐ์ง ์ ์ฑ ์ด๊ธฐ ๋๋ฌธ์ ํ๊ณ ์ถ์ ๊ธฐ๋ฅ์ ๋ชจ๋ ์ด์ฉํ ์ ์๋ค. ์ ์ฑ ์ ์ ํํ๋ค๋ฉด ๋ค์์ผ๋ก ๋์ด๊ฐ๋ค.
๋ฐฉ๊ธ ์ฐ๋ฆฌ๊ฐ ์ค์ ํ ๋ถ๋ถ๋ค์ ๋ณด์ฌ์ฃผ๋ฉฐ AWS๊ฐ ๋ง์ง๋ง ํ์ธ์ ๋์์ค๋ค. ํ์ธ์ ํ ํ ๋ค์์ผ๋ก ๋์ด๊ฐ๋ค.
์ก์ธ์ค ํค ID, ๋น๋ฐ ์ก์ธ์ค ํค, ๊ทธ๋ฆฌ๊ณ .CSV ๋ค์ด๋ก๋๊ฐ ๋์จ๋ค. ์ดํ ์ธ์ฆ ๊ณผ์ ๊ฐ์ด๋ฐ ํ์ํ๋ฏ๋ก ์ ๋ถ ์ ์ฅ์ ํ๋ค.
2.Raspberry Pi 4B ์ฌ์ฉ์ ์ค์ ํ๊ธฐ
aws configure
์ ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ฉด Access Key ID๋ฅผ ์ ๋ ฅํ๋ผ๊ณ ํ๋ค. '1.IAM ์ฌ์ฉ์ ์์ฑ'์์ ์์ฑํ ์ก์ธ์ค ํค ID๋ฅผ ๋ณต์ฌํ์ฌ ์ ๋ ฅํด์ค๋ค. ์ ๋ ฅํ๋ฉด ๋น๋ฐ ์ก์ธ์ค ํค๋ ์ ๋ ฅํ๋ผ๊ณ ํ๋ค. ๋น๋ฐ ์ก์ธ์ค ํค๋ฅผ ๋ณต์ฌํ์ฌ ์ ๋ ฅํด์ค๋ค.
๋ค์์ผ๋ก ์ง์ญ์ ์ ๋ ฅํ๋ผ๊ณ ๋์ค๋๋ฐ ์ฐ๋ฆฌ์ ์ง์ญ์ ์์ธ์ด๋ฏ๋ก 'ap-northeast-2'๋ฅผ ๋ณต์ฌํด์ ์ ๋ ฅํ๋ค. ๊ทธํ output format์ ์ ๋ ฅํ๋ผ๊ณ ํ๋๋ฐ json์ ๋ง์ด ์ฌ์ฉํ๋ฏ๋ก josn์ ์ ๋ ฅํ๋ค. ํด๋น ๊ณผ์ ์ ๋ง๋ฌด๋ฆฌ ํ๋ฉด ๋ค์ ์ฌ์ง๊ณผ ๊ฐ์ด ํด๋๊ฐ ์๋ก ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
Boto3๋ pytho 3.6๋ฒ์ ์ด์๋ถํฐ ์ฌ์ฉ๋๋ค.
python3 --version
์ด ์ฝ๋๋ฅผ ํตํด ํ์ฌ ํ์ด์ฌ ๋ฒ์ ์ ํ์ธํ๋ค. 3.6์ด์์ด ์๋๋ผ๋ฉด ์ ๋ฐ์ดํธ๋ฅผ ํ์๋ก ํด์ผํ๋ค. 3.6์ด์ ๋ฒ์ ์ธ ๊ฒ์ ํ์ธํ๋ค๋ฉด ์ค์น๋ฅผ ์์ํ๋ค.
sudo pip3 install boto3
ํฐ๋ฏธ๋์ ์ฌ์ง๊ณผ ๊ฐ์ ์ํฉ์ ํตํด ์ค์น๊ฐ ์๋ฃ๋๋ค.
1.์ด์ ๋ฒ์ ์ Open CV ์ ๊ฑฐํ๊ธฐ
Open CV ์ด์ ๋ฒ์ ์ด ์ค์น๋์ด ์์ผ๋ฉด ์๋ก ์ค์นํ๋ Open CV 4.5.1 ๋ฒ์ ์ด ์ ๋๋ก ๋์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ ๊ฑฐํด์ฃผ์ด์ผํ๋ค.
pkg-config --modversion opencv
์ด ์ฝ๋๋ฅผ ํตํด ํ์ฌ Open CV ๋ฒ์ ์ ํ์ธํ๋ค. ๋ง์ฝ ์ค์น๊ฐ ๋์ด ์์ง ์๋ค๋ฉด ์ค์น๋ฅผ ํด์ฃผ์ด์ผํ๋ค.(์ด ๊ฒฝ์ฐ 2๋ฒ์ ์งํํ๋ค.) ์ด์ ๋ฒ์ ์ด ์ค์น๋์ด ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด ์ญ์ ํ๋ค.
๋ค์ ๋ช ๋ น์ผ๋ก Open CV ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ ํ์ผ์ ํฌํจํด์ ๊ธฐ์กด์ ์ค์น๋ Open CV ํจํค์ง๋ฅผ ์ญ์ ํ๊ณ ์งํํด์ผ ํฉ๋๋ค. ์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.
sudo apt-get purge libopencv* python-opencv
sudo apt-get autoremove
์ปดํ์ผํ์ฌ ์ค์นํ ๊ฒฝ์ฐ ๋ค์์ฒ๋ผ Open CV ๋ฒ์ ์ ํ์ธํ ์ ์์ต๋๋ค.
pi@raspberrypi:~ $ pkg-config --modversion opencv
3.4.2
๋๋
pi@raspberrypi:~ $ pkg-config --modversion opencv4
4.5.1
๋ค์ ๋ช ๋ น์ผ๋ก ๊ธฐ์กด์ ์ค์น๋ Open CV ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ญ์ ํฉ๋๋ค.
sudo find /usr/local/ -name "*opencv*" -exec rm {} \;
2.๊ธฐ์กด ์ค์น๋ ํจํค์ง ์ ๊ทธ๋ ์ด๋ OpenCV 4.5.1์ ์ค์นํด์ฃผ๊ธฐ ์ ์ ๊ธฐ์กด์ ์ค์น๋ ํจํค์ง๋ค์ ์ ๊ทธ๋ ์ด๋ ํด์ฃผ๊ธฐ ์ํ ์์ ์ ๋๋ค.
๊ธฐ์กด์ ์ค์น๋ ํจํค์ง์ ์๋ก์ด ๋ฒ์ ์ด ์ ์ฅ์์ ์๋ค๋ฉด ํจํค์ง ๋ฆฌ์คํธ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
sudo apt update
์ดํ ์ฌ๋ถํ ์ ํด์ค๋๋ค.
sudo reboot
3.Open CV ์ปดํ์ผ ์ ํ์ํ ํจํค์ง ์ค์น Open CV๋ฅผ ์ปดํ์ผํ๋๋ฐ ํ์ํ ํจํค์ง๋ค์ ์ค์นํฉ๋๋ค.
build-essential ํจํค์ง์๋ C/C++ ์ปดํ์ผ๋ฌ์ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, make ๊ฐ์ ๋๊ตฌ๋ค์ด ํฌํจ๋์ด ์์ต๋๋ค.
cmake๋ ์ปดํ์ผ ์ต์ ์ด๋ ๋น๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌํจ์ํฌ OpenCV ๋ชจ๋ ์ค์ ๋ฑ์ ์ํด ํ์ํฉ๋๋ค.
sudo apt install build-essential cmake
ํน์ ํฌ๋งท์ ์ด๋ฏธ์ง ํ์ผ์ ๋ถ๋ฌ์ค๊ฑฐ๋ ์ ์ฅํ๊ธฐ ์ํด ํ์ํ ํจํค์ง๋ค์ ๋๋ค.
sudo apt install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
ํน์ ์ฝ๋ฑ์ ๋น๋์ค ํ์ผ/์คํธ๋ฆฌ๋ฐ์ ์ฝ์ด์ค๊ฑฐ๋ ๊ธฐ๋กํ๊ธฐ ์ํด ํ์ํ FFmpeg ๊ด๋ จ ํจํค์ง๋ค์ ๋๋ค.
sudo apt install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
Video4Linux ํจํค์ง๋ ๋ฆฌ๋ ์ค์์ ์ค์๊ฐ ๋น๋์ค ์บก์ฒ๋ฅผ ์ง์ํ๊ธฐ ์ํ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ์ API๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
sudo apt install libv4l-dev v4l-utils
ํน์ ์ฝ๋ฑ์ ๋น๋์ค ํ์ผ/์คํธ๋ฆฌ๋ฐ์ ์ฝ์ด์ค๊ฑฐ๋ ๊ธฐ๋กํ๊ธฐ ์ํด ํ์ํ GStreamer ๊ด๋ จ ํจํค์ง๋ค์ ๋๋ค.
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
OpenCV์์๋ highgui ๋ชจ๋์ ์ฌ์ฉํ์ฌ ์์ฒด์ ์ผ๋ก ์๋์ฐ ์์ฑํ์ฌ ์ด๋ฏธ์ง๋ ์์์ ๋ณด์ฌ์ค๋๋ค.
์๋์ฐ ์์ฑ ๋ฑ์ GUI๋ฅผ ์ํด gtk ๋๋ qt๋ฅผ ์ ํํด์ ์ฌ์ฉ๊ฐ๋ฅํฉ๋๋ค. ๋ณธ ๊ธ์์๋ gtk2๋ฅผ ์ฌ์ฉํฉ๋๋ค.
sudo apt install libgtk2.0-dev
OpenGL ์ง์ํ๊ธฐ ์ํด ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
sudo apt install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
OpenCV ์ต์ ํ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋๋ค.
sudo apt install libatlas-base-dev gfortran libeigen3-dev
python2.7-dev์ python3-dev ํจํค์ง๋ ํ์ด์ฌ์ ์ํ ํค๋ํ์ผ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฌํจ๋ ํจํค์ง๋ค์ ๋๋ค.
Numpy๋ ๋งคํธ๋ฆญ์ค ์ฐ์ฐ๋ฑ์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์ด์ OpenCV Python์์ ์ฌ์ฉ๋ฉ๋๋ค.
sudo apt install python3-dev python3-numpy
4.Open CV ์ค์ ๊ณผ ์ปดํ์ผ ๋ฐ ์ค์น ์์ค ์ฝ๋๋ฅผ ์ ์ฅํ ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ์ฌ ์ด๋ ํ ์งํํฉ๋๋ค
mkdir opencv
cd opencv
~/opencv $
OpenCV 4.5.1 ์์ค์ฝ๋๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ ์์ถ์ ํ์ด์ค๋๋ค.
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.1.zip
unzip opencv.zip
opencv_contrib(extra modules) ์์ค์ฝ๋๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ ์์ถ์ ํ์ด์ค๋๋ค.
SURF ๋ฑ์ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ํฉ๋๋ค.
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.1.zip
unzip opencv_contrib.zip
๋ค์์ฒ๋ผ ๋ ๊ฐ์ ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋ฉ๋๋ค.
pi@raspberrypi:~/opencv $ ls -d */
opencv-4.5.1 opencv_contrib-4.5.1
opencv-4.5.1 ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ฌ build ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ณ build ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
์ปดํ์ผ์ build ๋๋ ํ ๋ฆฌ์์ ์ด๋ฃจ์ด์ง๋๋ค.
pi@raspberrypi:~/opencv $ cd opencv-4.5.1
pi@raspberrypi:~/opencv/opencv-4.5.1 $ mkdir build
pi@raspberrypi:~/opencv/opencv-4.5.1 $ cd build
pi@raspberrypi:~/opencv/opencv-4.5.1/build $
cmake๋ฅผ ์ฌ์ฉํ์ฌ OpenCV ์ปดํ์ผ ์ค์ ์ ํด์ค๋๋ค. ๋ณต์ฌํด์ ํฐ๋ฏธ๋์ ๋ถ์ฌ๋ฃ๊ธฐ ํด์ฃผ๋ฉด ๋ฉ๋๋ค.
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=OFF -D WITH_IPP=OFF -D WITH_1394=OFF -D BUILD_WITH_DEBUG_INFO=OFF -D BUILD_DOCS=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D ENABLE_NEON=ON -D ENABLE_VFPV3=ON -D WITH_QT=OFF -D WITH_GTK=ON -D WITH_OPENGL=ON -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.1/modules -D WITH_V4L=ON -D WITH_FFMPEG=ON -D WITH_XINE=ON -D ENABLE_PRECOMPILED_HEADERS=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D OPENCV_GENERATE_PKGCONFIG=ON ../
๋ค์์ฒ๋ผ cmake ์คํ ์ค์ ์ถ๊ฐ์ ์ธ ๋ค์ด๋ก๋๊ฐ ์์ต๋๋ค.
๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์ ์ธํฐ๋ท์ด ์ฐ๊ฒฐ๋ ์ํ์์ ์งํํ์ธ์.
-- xfeatures2d/boostdesc: Download: boostdesc_bgm.i
-- xfeatures2d/boostdesc: Download: boostdesc_bgm_bi.i
-- xfeatures2d/boostdesc: Download: boostdesc_bgm_hd.i
-- xfeatures2d/boostdesc: Download: boostdesc_binboost_064.i
-- xfeatures2d/boostdesc: Download: boostdesc_binboost_128.i
-- xfeatures2d/boostdesc: Download: boostdesc_binboost_256.i
-- xfeatures2d/boostdesc: Download: boostdesc_lbgm.i
-- xfeatures2d/vgg: Download: vgg_generated_48.i
-- xfeatures2d/vgg: Download: vgg_generated_64.i
-- xfeatures2d/vgg: Download: vgg_generated_80.i
-- xfeatures2d/vgg: Download: vgg_generated_120.i
-- data: Download: face_landmark_model.dat
๋ค์๊ณผ ๊ฐ์ ๋ฉ์์ง๊ฐ ๋ณด์ด๋ฉด ์ ์์ ์ผ๋ก ๋ ๊ฒ์ ๋๋ค.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/opencv/opencv-4.5.1/build
์งํํ๊ธฐ ์ ์ ์ค์(swap) ๊ณต๊ฐ์ ๋๋ ค์ค์ผ ๋ฉํฐ์ฝ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํ์ผ์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์๋ฌ๊ฐ ๋์ง ์์ต๋๋ค.
/etc/dphys-swapfile ํ์ผ์ ์ด์ด์
sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE ๋ณ์๊ฐ์ 100์์ 2048๋ก ์์ ํฉ๋๋ค.
Ctrl + O๋ฅผ ๋๋ฌ ์ ์ฅํ๊ณ Ctrl + X๋ฅผ ๋๋ฌ ๋น ์ ธ๋์ต๋๋ค.
์ค์ ์๋น์ค ์ฌ์์ํ์ฌ ๋ณ๊ฒฝ๋ ์ค์ ์ ๋ฐ์์์ผ์ฃผ๋ฉด ์ค์ ํฌ๊ธฐ๊ฐ ๋๋ต 20๋ฐฐ๊ฐ ๋ฉ๋๋ค.
์ค์ ๊ด๋ จ ์๋น์ค๋ฅผ ์ฌ์์ํฉ๋๋ค
pi@raspberrypi:~/opencv/opencv-4.5.1/build $ sudo /etc/init.d/dphys-swapfile restart
[ ok ] Restarting dphys-swapfile (via systemctl): dphys-swapfile.service.
์ด์ make ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ปดํ์ผ์ ์์ํฉ๋๋ค. -j4 ์ต์ ์ ์ฃผ๊ณ ์ฐ์ ์งํํฉ๋๋ค.
time make -j4
์ด์ ์ปดํ์ผ ๊ฒฐ๊ณผ๋ฌผ์ ์ค์นํฉ๋๋ค. ์ํ ์ฝ๋๋ค์ /usr/local/share/opencv4/samples/ ์์น์ ๋ณต์ฌ๋ฉ๋๋ค.
sudo make install
opencv ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐพ์ ์ ์๋๋ก ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
sudo ldconfig
/etc/dphys-swapfile ํ์ผ์ ์ด์ด์
sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE ๋ณ์๊ฐ์ ๋ค์ 100์ผ๋ก ์์ ํฉ๋๋ค.
์ค์ ์๋น์ค ์ฌ์์ํ์ฌ ๋ณ๊ฒฝ๋ ์ค์ ์ ๋ฐ์์์ผ์ฃผ๋ฉด ์ค์ ํฌ๊ธฐ๊ฐ ์๋๋๋ก ๋์์ต๋๋ค.
pi@raspberrypi:~/opencv/opencv-4.5.1/build $ sudo /etc/init.d/dphys-swapfile restart
[ ok ] Restarting dphys-swapfile (via systemctl): dphys-swapfile.service.
5.Open CV ์ค์น ๊ฒฐ๊ณผ ํ์ธ
python 3์์ opencv ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉ๊ฐ๋ฅํ์ง๋ ํ์ธํฉ๋๋ค.
OpenCV ๋ฒ์ ์ด ์ถ๋ ฅ๋์ด์ผ ํฉ๋๋ค.
pi@raspberrypi:~/opencv/opencv-4.5.1/build $ python3
Python 3.9.2 (default, Mar 12 2021, 04:06:34)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.5.1'
>>> quit()
์์ ์ฝ๋๋ฅผ ์คํํด๋ด ๋๋ค. ์น์บ ์์์ ๋ณผ ์ ์์ต๋๋ค.
$ python3 /usr/local/share/opencv4/samples/python/video.py
๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.
[ WARN:0] global /home/pi/opencv/opencv-4.5.1/modules/videoio/src/cap_gstreamer.cpp (935) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
์์ ํด๋ด ์๋ค. OpenCV์์ ์๋ ๊ฒ์ผ๋ก ์งํํด๋ณด์์ต๋๋ค. video.py ํ์ผ์ ์ด์ด์
$ nano video.py
188๋ฒ์งธ ์ค์ ๋ค์์ฒ๋ผ ์์ ํฉ๋๋ค. Ctrl + O๋ก ์ ์ฅํ, Ctrl + X๋ก ์ข ๋ฃํฉ๋๋ค.
cap = cv.VideoCapture(source, cv.CAP_V4L2)
์คํํด๋ด ๋๋ค. ๊ฒฝ๊ณ ๋ฌธ ์์ด ์์์ด ๋ฐ๋ก ๋ณด์ ๋๋ค.
$ python video.py
$ python3 video.py
์ด์ ํ์ ์์ด์ง ์ปดํ์ผ์ ์ฌ์ฉํ๋ opencv ์์ค์ฝ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํฉ๋๋ค.
pi@raspberrypi:~/opencv/opencv-4.5.1/build $ cd
pi@raspberrypi:~ $ rm -rf opencv







