วิธีการติดตั้ง OpenCV บน Raspberry Pi
เราจำเป็นต้องดำเนินการต่างๆกับรูปภาพเพื่อดึงข้อมูลที่เป็นประโยชน์ออกมา ดังนั้นกระบวนการในการใช้อัลกอริทึมที่แตกต่างกันบนภาพเพื่อให้ได้ผลลัพธ์ที่ต้องการนี้เรียกว่า การประมวลผลภาพ. บางครั้งภาพที่อินพุตจะเบลอและเราต้องการรับข้อมูลจากมัน ตัวอย่างเช่น. เมื่อโจรเข้ามาฉกจักรยานหรือรถยนต์พวกเขาส่วนใหญ่จะขี่จักรยานและติดตั้งกล้องเหนือศีรษะบนถนนซึ่งจับภาพเหตุการณ์ได้ เราจำเป็นต้องทราบหมายเลขทะเบียนของรถคันนั้นที่โจรมาและสามารถทำได้อย่างง่ายดายโดยใช้อัลกอริทึมในการประมวลผลภาพ ในการประมวลผลภาพในบางภาพเราจำเป็นต้องติดตั้งไลบรารีบางส่วนบนฮาร์ดแวร์ที่เราใช้อยู่ ในบรรดาห้องสมุดเหล่านั้นสิ่งที่สำคัญที่สุดคือ OpenCV OpenCV สามารถติดตั้งบนพีซีและไมโครโปรเซสเซอร์ได้เช่นกัน Raspberry Pi เป็นไมโครโปรเซสเซอร์และใช้ในโครงการอิเล็กทรอนิกส์ต่างๆ หลังจากติดตั้งระบบปฏิบัติการบน Raspberry Pi แล้วเราสามารถดำเนินการประมวลผลภาพต่างๆได้ การติดตั้ง OpenCV บน Raspberry Pi เป็นงานที่ยาวนานและน่าตื่นเต้น ในบทความนี้เราจะเรียนรู้วิธีการติดตั้ง OpenCV บน Raspberry Pi เพื่อดำเนินการประมวลผลภาพต่างๆ
จะตั้งค่า Raspberry Pi และกำหนดค่า OpenCV ได้อย่างไร?
ตอนนี้เรามาดูการตั้งค่า Pi และดำเนินการตามที่กล่าวไว้ทีละขั้นตอนเพื่อติดตั้ง OpenCV การติดตั้ง OpenCV บน Pi เป็นกระบวนการที่ใช้เวลานานและใช้เวลาประมาณ 4 ชั่วโมงในการดำเนินการดังนั้นหากคุณมีเวลาไม่เพียงพออย่าเริ่มการติดตั้งโปรดดูบทช่วยสอนนี้เมื่อคุณว่าง พร้อมกับ Pi นี้จะร้อนขึ้นเมื่อถูกหมุน บนเป็นเวลานานและใช้เวลาดำเนินการดังนั้นควรเก็บไว้ในที่เย็นเมื่อคุณทำงาน
ขั้นตอนที่ 1: ส่วนประกอบที่ใช้
ขั้นตอนที่ 2: การเลือกรุ่น Raspberry Pi
มีราสเบอร์รี่ pi หลายรุ่นในตลาด ยกเว้นราสเบอร์รี่ pi zero สามารถเลือกรุ่นใดก็ได้ เนื่องจาก Pi zero ตั้งค่าเครือข่ายเป็นงานที่เหนื่อยมาก สามารถซื้อรุ่นล่าสุดเช่น 3A +, 3B + หรือ 4 ได้ Raspberry Pi 3 ใหม่เป็นอุปกรณ์ที่เร็วที่สุดและโดดเด่นที่สุดที่ Raspberry Pi Foundation เปิดตัวจนถึงปัจจุบัน ดังนั้นในโครงการนี้เราจะใช้ Raspberry Pi 3B +
ขั้นตอนที่ 3: การเชื่อมต่ออุปกรณ์ต่อพ่วง
หลังจากเลือก Raspberry Pi แล้วเราจะเชื่อมต่อคีย์บอร์ดและเมาส์เข้ากับ Raspberry Pi หลังจากเชื่อมต่อแล้วให้ใช้สาย HDMI เพื่อเชื่อมต่อ Pi กับโทรทัศน์ หลังจากทำการเชื่อมต่อแล้วเราพร้อมที่จะดำเนินการต่อไป
ขั้นตอนที่ 4: การเลือกระบบปฏิบัติการ
ประการแรกเราจะต้องมีการ์ด SD ที่มีระบบปฏิบัติการที่เหมาะสม เมื่อเลือกระบบปฏิบัติการปัจจุบันมีทางเลือกมากมายตั้งแต่ Raspbian“ ธรรมดา” ไปจนถึงเฟรมเวิร์กการทำงานของสื่อที่ทุ่มเทและแม้แต่ Windows 10 IoT ไม่จำเป็นต้องมีแอพพลิเคชั่นมากมายดังนั้นเราควรปล่อยให้ Central Processing Unit (CPU) และ Random Access Memory (RAM) ให้มากที่สุดเท่าที่จะทำได้สำหรับแอพพลิเคชั่นสตรีมมิ่งสื่อ ปัญหาหนึ่งคือ Arch Linux แนะนำสำหรับผู้ที่มีความรู้เกี่ยวกับ Linux ค่อนข้างมาก พวกเขาเป็นแนวหน้าอย่างมากและเราจะต้องพบกับปัญหาเมื่อแนะนำแอปพลิเคชันและไลบรารีของบุคคลที่สาม ดังนั้นหากนี่เป็นการก่อตั้งโฮมเธียเตอร์ครั้งแรกของคุณเราขอแนะนำให้เลือกRaspbian Lite. มันขับเคลื่อนด้วยบรรทัดคำสั่งและไม่ต้องยืดกล้ามเนื้อมากนักซึ่งออกแบบมาเพื่อให้ทำงานต่อไปในโหมด“ ไม่มีหัว” นั่นคือเข้าถึงได้จากระยะไกลผ่านระบบโดยไม่ต้องใช้คอนโซลหรือหน้าจอ
ขั้นตอนที่ 5: ตรวจสอบให้แน่ใจว่า Raspberry Pi ทันสมัยแล้ว
อัปเดตแหล่งที่มาของ Pi ของคุณไม่เช่นนั้นซอฟต์แวร์ที่ล้าสมัยจะทำให้เกิดปัญหาบางอย่าง เปิดใช้งานโปรแกรมดู Virtual Network Computing (VNC) บน Pi ของคุณจากนั้นเชื่อมต่อ Raspberry Pi กับโปรแกรมดู VNC ลิงค์อยู่ด้านล่างสำหรับดาวน์โหลด VNC จากนั้นเชื่อมต่อกับ Pi
VNC Viewer
ตอนนี้เปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้:
อัปเดต sudo apt-get
จากนั้น
sudo apt-get อัพเกรด
จะมีการติดตั้งแพ็คเกจจำนวนมากและหากถูกขอให้กด ย แล้ว ป้อน เพื่อติดตั้งอย่างถูกต้อง
ขั้นตอนที่ 6: เข้าสู่ Raspberry Pi
ชื่อผู้ใช้เริ่มต้นของ Raspberry Pi คือ ปี่, และรหัสผ่านเริ่มต้นคือ ราสเบอร์รี่. นี่คือรายละเอียดการเข้าสู่ระบบเริ่มต้นและในการเข้าสู่ระบบครั้งแรกของคุณให้ใช้รายละเอียดเหล่านี้เพื่อเข้าสู่ระบบ pi คุณสามารถเปลี่ยนแปลงรายละเอียดเหล่านี้ได้ทุกเมื่อที่คุณต้องการ
ขั้นตอนที่ 7: การสร้างพื้นที่เพียงพอบน Raspbian สำหรับ OpenCV
OpenCV ได้รับหน่วยความจำขนาดใหญ่ดังนั้นเราจึงจำเป็นต้องขยายระบบไฟล์และจัดสรรพื้นที่ทั้งหมดให้กับการ์ดหน่วยความจำ เราจะไปที่พรอมต์คำสั่งของราสเบอร์รี่และพิมพ์คำสั่งต่อไปนี้:
sudo raspi-config
หน้าต่างจะปรากฏขึ้นและจะมีลักษณะดังนี้:
ตอนนี้เราจะคลิกที่ตัวเลือกขั้นสูงจากนั้นเราจะพบตัวเลือก“ ขยายระบบไฟล์” เลือกตัวเลือกนั้น
เราจะกดปุ่ม ป้อนจากนั้นกดปุ่ม เสร็จสิ้นปุ่ม. ในขั้นตอนนี้ Raspberry Pi ของเราต้องรีบูตเพื่อให้การเปลี่ยนแปลงมีผล พิมพ์คำสั่งต่อไปนี้เพื่อรีบูต:
sudo รีบูต
หลังจากรีบูตเราจะตรวจสอบว่าระบบไฟล์ของเราได้ขยายหรือไม่และพื้นที่ทั้งหมดรวมอยู่ในการ์ด SD หรือไม่ โดยดำเนินการ df -h คำสั่งที่เราสามารถตรวจสอบได้ว่าดิสก์ของเราขยาย:
ผู้ที่ใช้การ์ด micro SD ขนาด 8GB อาจใช้พื้นที่ 50% ของพื้นที่ที่มีอยู่ดังนั้นจึงต้องลบทิ้ง เครื่องยนต์ Wolfram และ LibreOffice สามารถเพิ่มพื้นที่ว่างได้ประมาณ 1GB (โปรดจำไว้ว่าขั้นตอนนี้เป็นทางเลือก)
sudo apt-get purge wolfram-engine sudo apt-get purge libreoffice * sudo apt-get clean sudo apt-get autoremove
ขั้นตอนที่ 8: การติดตั้งการอ้างอิง
ก่อนที่จะดำเนินการและการพึ่งพาเราจำเป็นต้องอัปเดตและอัปเกรดแพ็คเกจที่มีอยู่ซึ่งติดตั้งบน Pi:
อัปเดต sudo apt-get
จากนั้น
sudo apt-get อัพเกรด
ตอนนี้เราจะติดตั้งเครื่องมือที่กำลังพัฒนาซึ่งจะช่วยเราในการกำหนดค่า OpenCV build:
sudo apt-get install build-essential cmake pkg-config
ในการดำเนินการต่างๆกับรูปภาพเราจำเป็นต้องโหลดรูปแบบภาพต่างๆจากฮาร์ดไดรฟ์ รูปแบบเหล่านี้ ได้แก่ JPEG, PNG เป็นต้นสำหรับการโหลดรูปแบบภาพเหล่านี้เราจะติดตั้งแพ็คเกจ I / O บางส่วน:
sudo apt-get ติดตั้ง libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
นอกจากแพ็คเกจ I / O อิมเมจเหล่านี้แล้วเราจะติดตั้งแพ็คเกจ I / O วิดีโอด้วย หลังจากติดตั้งแพ็คเกจวิดีโอเหล่านี้เราจะสามารถโหลดไฟล์วิดีโอรูปแบบต่างๆ
sudo apt-get ติดตั้ง libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install libxvidcore-dev libx264-dev
ไลบรารี OpenCV มาพร้อมกับโมดูลย่อยที่ชื่อ highgui ซึ่งใช้เพื่อแสดงรูปภาพบนหน้าจอของเราและผลิต GUI ที่จำเป็น ก่อนที่จะรวบรวมโมดูลย่อยนั้นเราจำเป็นต้องติดตั้งไลบรารีการพัฒนา GTK:
sudo apt-get ติดตั้ง libgtk2.0-dev libgtk-3-dev
การดำเนินการเมทริกซ์หลายอย่างสามารถทำได้บนรูปภาพโดยการตรวจสอบขนาดของรูปภาพจากนั้นอ่านค่าพิกเซล นอกจากนี้เรายังสามารถแปลงค่าพิกเซลเหล่านั้นให้อยู่ในรูปแบบไบนารีจากนั้นแก้ไขตัวเลขไบนารีนั้นเพื่อสร้างภาพขึ้นมาใหม่ ในราสเบอร์รี่ pi เรามีข้อ จำกัด บางประการในการป้อนข้อมูลด้วยเหตุนี้ไลบรารีเหล่านี้จึงมีความสำคัญและจำเป็นต้องติดตั้ง ดังนั้นผลลัพธ์เหล่านี้สามารถทำให้ดีขึ้นได้โดยการติดตั้งการอ้างอิงเพิ่มเติม:
sudo apt-get ติดตั้ง libatlas-base-dev gfortran
บางคนจะทำงานบน Python 2.7 และบางคนจะทำงานบน Python 3 ต้องติดตั้งไฟล์ส่วนหัวของ Python 2.7 และ Python 3 เพื่อรวบรวม OpenCV พร้อมกับการผูก Python:
sudo apt-get ติดตั้ง python2.7-dev python3-dev
ใน Raspbian Python 3 เวอร์ชันใหม่ได้รับการติดตั้งแล้วและข้อความอาจปรากฏขึ้นที่ Lx Terminal โดยระบุว่า “ Python 3 เป็นเวอร์ชันล่าสุดแล้ว”. ขั้นตอนนี้มีความสำคัญเนื่องจากเราสามารถพบข้อผิดพลาดเกี่ยวกับไฟล์ส่วนหัวที่ชื่อเป็นไฟล์ Python.hขณะรันคำสั่ง ทำ เพื่อรวบรวม OpenCV
ขั้นตอนที่ 9: ดาวน์โหลดซอร์สโค้ด OpenCV
เมื่อเราติดตั้งการอ้างอิงเสร็จแล้วเราจะค้นหาโฟลเดอร์เก็บถาวรของ OpenCV เวอร์ชัน 3.3.0 จากไดเร็กทอรีอย่างเป็นทางการของ OpenCV
cd ~ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.3.0.zip คลายซิป opencv.zip
เรากำลังติดตั้งแพ็คเกจ OpenCV ทั้งหมดดังนั้นเราจึงต้องรวม opencv_contrib ด้วย ดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการจากนั้นเปิดเครื่องรูด
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.3.0.zip คลายซิป opencv_contrib.zip
ในขณะที่ดาวน์โหลดไดเร็กทอรีเหล่านี้โปรดจำไว้ว่าเวอร์ชันของ OpenCV และ opencv_contrib ควรจะเหมือนกันนั่นคือควรเป็น 3.3.0 มิฉะนั้นจะมีข้อผิดพลาดในการรวบรวมระหว่างการติดตั้ง
ขั้นตอนที่ 10: Python 2.7 หรือ Python 3
python 2.7 ที่มีประสิทธิภาพดีกว่า python 3 แต่ใน OpenCV ไม่มีความแตกต่างกันมากนัก เราจำเป็นต้องติดตั้ง pipบน Raspberry ก่อนคอมไพล์ OpenCV เป็นระบบการจัดการแพ็คเกจที่ใช้ในการติดตั้งชุดซอฟต์แวร์ที่ใช้ใน Python แพ็คเกจเหล่านี้อาจมีอยู่ใน raspbian ล่าสุดตามค่าเริ่มต้น แต่จะดีกว่าถ้าตรวจสอบโดยใช้คำสั่งต่อไปนี้
wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py sudo python3 get-pip.py
หลังจากติดตั้ง pip สองแพ็คเกจแนะนำเป็นอย่างยิ่งและจำเป็นต้องติดตั้งในขณะที่ทำงานกับ OpenCV คนแรกคือ Virtualenv และคนที่สอง Virtualenvwrapper เราไม่สามารถนำเข้า OpenCV โดยตรงใน Python ดังนั้นเราจะสร้างสภาพแวดล้อมเสมือนจากนั้นจึงทำงานในสภาพแวดล้อมนั้น สภาพแวดล้อมเสมือนเป็นเครื่องมือพิเศษที่ใช้เพื่อรักษาเงื่อนไขที่จำเป็นสำหรับโปรเจ็กต์ต่างๆในสถานที่ที่ไม่ต่อเนื่องโดยการสร้างสภาพแวดล้อม Python แยกกันสำหรับทุกโครงการ
sudo pip ติดตั้ง Virtualenv Virtualenvwrapper sudo rm -rf ~ / .cache / pip
หลังจากติดตั้งแพ็คเกจเหล่านี้เราจำเป็นต้องอัปเดตไฟล์ ~ / .profile ไฟล์ซึ่งเป็นไฟล์ที่ซ่อนอยู่ในโฮมไดเร็กทอรีของเราเพื่อรวมบรรทัดต่อไปนี้ไว้ที่ท้ายไฟล์ พิมพ์คำสั่งต่อไปนี้เพื่อเข้าสู่ไดเร็กทอรี:
นาโน ~ / .profile
เมื่อเปิดไดเร็กทอรีให้เลื่อนลงและมีบรรทัดต่อไปนี้:
# Virtualenv และ Virtualenvwrapper ส่งออก WORKON_HOME = $ HOME / .virtualenvs ส่งออก VIRTUALENVWRAPPER_PYTHON = / usr / bin / python3 ที่มา /usr/local/bin/virtualenvwrapper.sh
หลังจากรวมบรรทัดเหล่านี้แล้วให้กด ctrl + x บันทึกโดยการกด ย และออก
เมื่อใดก็ตามที่เราเปิดเทอร์มินัลและเราล็อกอินเข้าสู่ Pi ของเราไฟล์ dot นี้จะถูกโหลดโดยอัตโนมัติสำหรับเรา เมื่อเราเข้าสู่ระบบแล้วเราจะพิมพ์ด้วยตนเอง ที่มา ~ / .profileเพื่อโหลดเนื้อหาของไฟล์
การสร้างสภาพแวดล้อมเสมือน Python: เราจำเป็นต้องสร้างสภาพแวดล้อมเสมือนจริงโดยใช้ python 2.7 และ python 3
mkvirtualenv cv -p python2
มันจะสร้างสภาพแวดล้อมที่ชื่อ ประวัติย่อ บน Python 2.7 ใครก็ตามที่ต้องการสร้างสภาพแวดล้อมบน Python 3 ควรพิมพ์คำสั่งที่กล่าวถึงด้านล่าง:
mkvirtualenv cv -p python3
การตรวจสอบว่าเราอยู่ในสภาพแวดล้อมเสมือนจริงที่มีชื่อว่า“ cv”: เมื่อเรารีบูต pi เราจะไม่อยู่ในสภาพแวดล้อมเสมือนจริงและเราต้องพิมพ์คำสั่งสองคำที่กล่าวถึงด้านล่างเพื่อเข้าสู่โหมดสภาพแวดล้อมเสมือน
แหล่งที่มา ~ / .profile work บน cv
ภาพด้านล่างแสดงว่าเราไม่ได้อยู่ในโหมดสภาพแวดล้อมเสมือน:
ดังนั้นเมื่อพิมพ์คำสั่งสองคำที่กล่าวถึงข้างต้นเราจะสามารถเข้าถึงสภาพแวดล้อมเสมือนของเราได้ หากเราต้องการออกจากสภาพแวดล้อมเสมือนจริงเราจะพิมพ์ deactivate:
การติดตั้ง NumPy บน Raspbian:การพึ่งพาเพียงอย่างเดียวที่เราต้องติดตั้ง OpenCV บน Raspberry คือ Numpy พิมพ์คำสั่งที่ระบุด้านล่างเพื่อติดตั้ง Numpy บน Raspberry Pi จะติดตั้งประมาณ 10 นาที:
pip ติดตั้ง numpy
ขั้นตอนที่ 11: การรวบรวมและติดตั้ง OpenCV
เราจะรวบรวมและติดตั้ง OpenCV ในสภาพแวดล้อมเสมือนดังนั้นตรวจสอบให้แน่ใจว่าคุณกำลังทำงานในสภาพแวดล้อมเสมือน CV หากเราไม่ได้อยู่ในสภาพแวดล้อมเสมือน OpenCV จะไม่สามารถคอมไพล์ได้ ตอนนี้เปลี่ยนไดเร็กทอรีเป็นโฮมไดเร็กทอรีย่อยไดเร็กทอรี เปิด cv 3.3จากนั้นสร้างไดเร็กทอรี build หลังจากสร้างไดเร็กทอรี build แล้วให้วางห้าบรรทัดสุดท้ายในไฟล์ CMake ไดเรกทอรี จะตรวจสอบไลบรารีบางอย่างที่กำหนดเส้นทางเวอร์ชัน python ฯลฯ
การติดตั้งของเราจะเสร็จสมบูรณ์โดยเรียกใช้คำสั่งสุดท้ายนี้:
sudo ldconfig
เหลือขั้นตอนสองสามขั้นตอนเมื่อเราใช้ Python 2.7 หรือ Python 3
ขั้นตอนที่ 12: เสร็จสิ้นการติดตั้ง
กลับไปที่โฮมไดเร็กทอรีโดยพิมพ์ ซีดี ~.
Python 3:เราจะ sym-link การผูก OpenCV เข้ากับ cv ของเราในไดเรกทอรี python 3 เพราะเรารวบรวมการผูก OpenCV และ python สำหรับ python 3
cd ~ / .virtualenvs / cv / lib / python3.5 / ไซต์แพ็คเกจ / ln -s /usr/local/lib/python3.5/site-packages/cv2.so cv2.so
แค่นั้นแหละ!. ตอนนี้เราได้ติดตั้ง OpenCV ลงใน Raspberry Pi แล้ว ตอนนี้เราจะตรวจสอบในสภาพแวดล้อมเสมือนจริง
ขั้นตอนที่ 13: การทดสอบ OpenCV
เปิด LxTerminal และเขียนไฟล์ แหล่งที่มา ตามด้วยคำสั่ง workonคำสั่ง เมื่อเราเข้าสู่โหมดสภาพแวดล้อมเสมือนเราจะนำเข้าการผูก OpenCV โดยพิมพ์ python จากนั้นจึงนำเข้า cv2 หากไม่มีข้อความแสดงข้อผิดพลาดแสดงว่านำเข้าสำเร็จแล้ว
แหล่งที่มา ~ / .profile workon cv python >> import cv2
หลังจากนั้นเราจะตรวจสอบเวอร์ชัน OpenCV ของเราโดยพิมพ์คำสั่งต่อไปนี้:
cv2 .__ รุ่น __
เราได้ติดตั้ง OpenCV บน Raspberry 3B + แล้ว ตอนนี้เราสามารถดำเนินการประมวลผลภาพได้มากมายใน Python เช่น Digit Detection, Face Recognition และอื่น ๆ