OpenCV คือ โปรแกรมที่พัฒนาขึ้นโดยได้รับการสนับสนุนจาก Intel Corporation จำกัด เป็นซอฟต์แวร์ แบบเปิดเผยรหัส (Library Open Source) สำหรับใช้ในการประมวลผลภาพ (Image Processing) เพื่อให้สามารถนำไปต่อยอดพัฒนาโปรแกรมต่าง ๆ ได้ง่าย ใช้ได้บนระบบปฏิบัติการที่เป็น Linux และ Microsoft Windows และสามารถพัฒนาโปรแกรมได้หลากหลายภาษา
**** การใช้ประโยขน์ ****
เพื่อให้การพัฒนาโปรแกรมทางด้าน การมองเห็นของคอมพิวเตอร์ (Computer Vision) คือสามารถประมวลผลภาพดิจิตอลได้ทั้งภาพนิ่ง และภาพเคลื่อนไหวเช่น ภาพจากกล้อง VDO หรือ VDO File เป็นไปได้อย่างสะดวก มีฟังก์ชันสำเร็จรูปสำหรับจัดการข้อมูลภาพ และการประมวลผลภาพพื้นฐานเช่น การหาขอบภาพ การกรองข้อมูลภาพ
**** การใช้ประโยขน์ ****
เพื่อให้การพัฒนาโปรแกรมทางด้าน การมองเห็นของคอมพิวเตอร์ (Computer Vision) คือสามารถประมวลผลภาพดิจิตอลได้ทั้งภาพนิ่ง และภาพเคลื่อนไหวเช่น ภาพจากกล้อง VDO หรือ VDO File เป็นไปได้อย่างสะดวก มีฟังก์ชันสำเร็จรูปสำหรับจัดการข้อมูลภาพ และการประมวลผลภาพพื้นฐานเช่น การหาขอบภาพ การกรองข้อมูลภาพ
1. การติดตั้ง OpenCV 3
เปิดโปรแกรม เทอมินอล (Root Terminal)
ขั้นตอนที่ 1
-อัพเดตและปรับปรุงแพคเกจของ Raspberry Pi Firmware
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo rpi-update
-เมื่อทำการอัพเดตเรียบร้อยต้องทำการรีบูทเครื่องใหม่
sudo reboot
-ติดตั้งฟังก์ชันเพิ่มเติม
sudo apt-get install build-essential cmake pkg-config
-ทำการติดตั้ง image I/O packages พวกนามสกุล JPEG, PNG, TIFF, etc
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
-ทำการติดตั้งฟังก์ชันเกี่ยวกับการใช้งานวีดีโอ
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
-ทำการติดตั้ง GTK development library จะทำให้เราสามารถ compile highgui ซึ่งเป็น module ย่อย ของ OpenCV ซึ่งฟังก์ชันนี้จะทำให้เราสามารถเปิดรูปภาพออกมาที่หน้าจอได้
sudo apt-get install libgtk2.0-dev
การดำเนินงานภายใน OpenCV จำนวนมาก (เช่นการดำเนินการเมทริกซ์) สามารถเพิ่มประสิทธิภาพได้มากขึ้นโดยการติดตั้งการพึ่งพาพิเศษบางอย่าง
การดำเนินงานภายใน OpenCV จำนวนมาก (เช่นการดำเนินการเมทริกซ์) สามารถเพิ่มประสิทธิภาพได้มากขึ้นโดยการติดตั้งการพึ่งพาพิเศษบางอย่าง
sudo apt-get install libatlas-base-dev gfortran
ขั้นตอนที่ 2
-ในขั้นตอนนี้ มีขั้นตอนการดำเนินการติดตั้ง โดยที่เราต้องไปเลือก OpenCV version 3 จาก OpenCV repository(ถ้ามีversion ใหม่กว่านี้ให้เลือกตัวนั้น)
cd ~
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.4.3.zip
unzip opencv.zip
-เพื่อการติดตั้งที่สมบูรณ์ของ OpenCV 3 ให้ไปดึงไฟล์จาก opencv_contrib
-เพื่อการติดตั้งที่สมบูรณ์ของ OpenCV 3 ให้ไปดึงไฟล์จาก opencv_contrib
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.3.zip
unzip opencv_contrib.zip
ขั้นตอนที่ 3
ก่อนที่เราจะเริ่มคอมไพล์ OpenCV บน Raspberry Pi 3 ต้องติดตั้ง pip ผู้จัดการ package ของ Python:
ขั้นตอนที่ 3
ก่อนที่เราจะเริ่มคอมไพล์ OpenCV บน Raspberry Pi 3 ต้องติดตั้ง pip ผู้จัดการ package ของ Python:
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
-ใช้ virtualenv หรือ virtualenvwrapper เพื่อให้สามารถแสดงภาพได้หลายภาพ นิยมใช้ virtualenvwrapper มากกว่าเพราะมีฟังก์ชันหลากหลาย
-ใช้ virtualenv หรือ virtualenvwrapper เพื่อให้สามารถแสดงภาพได้หลายภาพ นิยมใช้ virtualenvwrapper มากกว่าเพราะมีฟังก์ชันหลากหลาย
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pip
-ต้องเข้าไปที่ ~/.profile เพื่อเพิ่มข้อความ 2 บรรทัด โดยใช้คำสั่ง
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile
ตอนนี้เราได้อัปเดตโปรไฟล์ ~ / .profile แล้ว และจำเป็นต้องโหลดใหม่เพื่อให้แน่ใจว่าการเปลี่ยนแปลงจะมีผลแล้ว โดย
source ~/.profile
การสร้างสภาพแวดล้อมเสมือน OpenCV
ต่อไปให้สร้างสภาพแวดล้อมเสมือน OpenCV ที่เราจะใช้สำหรับการพัฒนา Image Processing และ Computer Vision
mkvirtualenv cv -p python2
mkvirtualenv cv -p python3
หลังจากนั้นจะสามารถใช้ workon ได้
source ~/.profile
workon cv
ต้องเห็นข้อความ (CV) ก่อนหน้าพร้อมท์ แสดงว่าอยู่ในสภาพแวดล้อมเสมือน OpenCV แล้ว
-ต้องเข้าไปที่ ~/.profile เพื่อเพิ่มข้อความ 2 บรรทัด โดยใช้คำสั่ง
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile
ตอนนี้เราได้อัปเดตโปรไฟล์ ~ / .profile แล้ว และจำเป็นต้องโหลดใหม่เพื่อให้แน่ใจว่าการเปลี่ยนแปลงจะมีผลแล้ว โดย
source ~/.profile
การสร้างสภาพแวดล้อมเสมือน OpenCV
ต่อไปให้สร้างสภาพแวดล้อมเสมือน OpenCV ที่เราจะใช้สำหรับการพัฒนา Image Processing และ Computer Vision
mkvirtualenv cv -p python2
mkvirtualenv cv -p python3
หลังจากนั้นจะสามารถใช้ workon ได้
source ~/.profile
workon cv
ต้องเห็นข้อความ (CV) ก่อนหน้าพร้อมท์ แสดงว่าอยู่ในสภาพแวดล้อมเสมือน OpenCV แล้ว
ทำการติดตั้ง numpy ดังนี้
pip install numpy
ขั้นตอนที่ 4
-ขณะนี้เราพร้อมที่จะ compile OpenCV
source ~/.profile
workon cv
cd ~/opencv-3.4.3/
mkdir build
cd build
เมื่อมั่นใจว่าคุณอยู่ในสภาพแวดล้อมเสมือน cv แล้วเราสามารถตั้งค่าการสร้าง CMake ของเราโดยใช้
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.3/modules \ -D BUILD_EXAMPLES=ON ..
ติดตั้ง OpenCV
make clean
make
make
sudo make install
จะใช้เวลาติดตั้งนานพอสมควร
เมื่อครบ 100 % และ ทำการติดตั้งจนกระทั่ง เสร็จสมบูรณ์
แล้วใช้คำสั่ง
จะใช้เวลาติดตั้งนานพอสมควร
เมื่อครบ 100 % และ ทำการติดตั้งจนกระทั่ง เสร็จสมบูรณ์
แล้วใช้คำสั่ง
เชื่อมโยง OpenCV เข้ากับสภาพแวดล้อมเสมือน cv สำหรับ Python 2.7:
cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
แสดงว่า OpenCV ของเรานั้นพร้อมใช้งานแล้ว
นอกจากนี้เรายังจะใช้ imutils คอลเลกชันของ OpenCV เพื่ออำนวยความสะดวกในการทำงานขั้นพื้นฐานบางอย่าง (เช่นปรับขนาด) ได้ง่ายขึ้น
ทำการติดตั้ง imutils ดังนี้
source ~/.profile
workon cv
pip install imutils
2. ทดสอบ โปรเจค ติดตามวัตถุ Ball Tracking with OpenCV
ให้ติดตั้งโปรแกรมถ่ายโอนไฟล์ SFTP Server ตามลิงค์ด้านล่าง
การติดตั้งโปรแกรมถ่ายโอนไฟล์ SFTP Server
ดาวน์โหลด โปรเจค ติดตามวัตถุ Ball Tracking with OpenCV
https://drive.google.com/open?id=1kRqn3hXl_eBJFPKqc-Os7VrxXNRIVuWv
คลายซิบ และ อัพโหลด ขึ้นสู่ Raspberry Pi 3 โดยใช้ โปรแกรม FileZilla (ไฟล์ซิลลา)
โปรเจค ติดตามวัตถุ Ball Tracking อัพโหลด ขึ้นสู่ Raspberry Pi 3 สำเร็จ
กลับไปที่ Raspberry Pi 3 เปิดโปรแกรม เทอมินอล (Root Terminal) ใช้คำสั่ง
source ~/.profile
3. ทดสอบการติดตามวัตถุ จาก Camera V2 Module
ให้ติดตั้งติดตั้ง Camera V2 Module ตามลิงค์ด้านล่าง
การติดตั้งและการใช้งาน Camera V2 Module
ให้ติดตั้งติดตั้ง Motion ตามลิงค์ด้านล่าง
การติดตั้ง Motion และ ดูภาพกล้องผ่านทางหน้าเว็บเพจ
ต้องแก้ไขไฟล์ /etc/default/motion
ถ้าเคยทำ "การติดตั้ง Motion และ ดูภาพกล้องผ่านทางหน้าเว็บเพจ" มาก่อน เพราะจะมีการแก้ค่าจาก no เป็น yes เอาไว้ (ถ้าไม่เคยทำก็ไม่ต้องแก้ไข) โดยแก้ไขให้กลับมาเป็น start_motion_daemon=no เหมือนเดิม
เปิดไฟล์ /etc/default/motion มาแก้ไข โดยใช้คำสั่ง
sudo nano /etc/default/motion
จากนั้นบันทึก Ctrl + O แล้วตามด้วย Enter เพื่อบันทึกข้อมูลใหม่ แล้ว กด Ctrl + X เพื่อออกจากโปรแกรม
-เมื่อทำการอัพเดตเรียบร้อยต้องทำการรีบูทเครื่องใหม่
sudo reboot
ไปที่ Raspberry Pi 3 เปิดโปรแกรม เทอมินอล (Root Terminal)
ติดตั้ง picamera ให้กับ OpenCV โดยใช้คำสั่ง
source ~/.profile
workon cv
pip install picamera
ติดตั้ง GPIO ให้กับ OpenCV โดยใช้คำสั่ง
source ~/.profile
workon cv
pip install RPi.GPIO
ทดสอบการติดตามวัตถุ จาก Camera V2 Module โดยใช้คำสั่ง
source ~/.profile
workon cv
cd ball-tracking
cd ball-tracking
python ball_tracking.py
ผลลัพธ์ ทดสอบการติดตามวัตถุ จาก Camera V2 Module โดยใช้ลูกบอลสีเหลือง ในตัวอย่างใช้เป็นลูกเทนนิส จะเห็นเป็นภาพเคลื่อนไหวที่ถ่ายจากกล้อง และ แสดงการติดตามวัตถุ
...
หมายเหตุ : เรียบเรียงและแก้ไขดัดแปลงจากบทความด้านล่าง
Install guide: Raspberry Pi 3 + Raspbian Jessie + OpenCV 3
Ball Tracking with OpenCV
....
ไม่มีความคิดเห็น:
แสดงความคิดเห็น