สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
เรื่องราว
ฉันทำโปรเจ็กต์นี้เพื่อเรียนรู้การประมวลผลภาพโดยใช้ Raspberry PI และ open CV เพื่อให้โครงการนี้น่าสนใจยิ่งขึ้น ฉันใช้เซอร์โวมอเตอร์ SG90 สองตัวและติดตั้งกล้องไว้ มอเตอร์ตัวหนึ่งใช้ในการเคลื่อนที่ในแนวนอนและมอเตอร์ตัวที่สองใช้ในการเคลื่อนที่ในแนวตั้ง
เสบียง
การเขียนแบบเต็ม
การติดตามวัตถุตามการตรวจจับสี
1. ติดตั้ง Raspbian Strech บน Raspberry 3B+
NS. ชำระเงินวิดีโอ YouTube ของฉันตั้งแต่:- ถึง 15:10 ถึง 16:42 - >>
NS. ใช้ตัวแปลง HDMI-VGA เพื่อเชื่อมต่อ RPI กับจอภาพและแป้นพิมพ์และเมาส์ USB
ค. บูตเดสก์ท็อป RPI และทำตามขั้นตอนถัดไป
NS. แนะนำให้ใช้จอภาพหากคุณเป็นมือใหม่ เนื่องจากการเข้าถึง PI โดยตรงนั้นง่ายสำหรับมือใหม่
2. ติดตั้ง Open CV บน RPI3B+
NS.
NS. เวลาที่ใช้:- ประมาณ 8+ ชั่วโมง
ค. ฉันใช้เวลาสองวันในการดำเนินการนี้ให้เสร็จ (20 ชั่วโมง) ดังนั้นจงมีความกระตือรือร้นและสงบสติอารมณ์
3. ติดตั้งไลบรารี PCM9685 บน Raspberry PI
NS. เอกสารอ้างอิง:-
NS. ตรวจสอบการเชื่อมต่อ PCM9685 i2c ด้วย RPI
ผม. เรียกใช้: - sudo apt-get install python-smbus
ii. เรียกใช้:- sudo apt-get install i2c-tools
สาม. เรียกใช้: - sudo i2cdetect -y 1
1. ภาพการสื่อสารที่ประสบความสำเร็จกับ PCM9685
ค. เปิด Terminal & เรียกใช้: - source ~/.profile #to เข้าสู่สภาพแวดล้อมเสมือน
NS. เปิด Terminal & run:- pip3 ติดตั้ง adafruit-circuitpython-servokit
อี ห้ามใช้ "sudo" ไม่เช่นนั้นคุณจะประสบปัญหาเนื่องจากการใช้ "sudo" จะไม่ติดตั้งไลบรารีในสภาพแวดล้อมเสมือนของคุณ
NS. กำลังตรวจสอบเซอร์โว
ผม. เปิด python3 และป้อนคำสั่งด้านล่าง
ii. จาก adafruit_servokit นำเข้า ServoKit
สาม. ชุด = ServoKit (ช่อง = 16)
iv. kit.servo[0].angle = 90
v. kit.servo[0].angle = 180
vi. kit.servo[0].angle = 0
4. รายละเอียดการเชื่อมต่อ:-
NS. เชื่อมต่อ 5VDC กับ PCM9685 (สำหรับการทำงานของเซอร์โว ภายนอก 5V จำเป็น)
NS. \Connect PC9685 I2C & พินอุปทานลอจิกพร้อมพิน RPI
ค. เชื่อมต่อเซอร์โวสองตัวกับ PCM9685
5. การตรวจสอบเซอร์โว
NS. ฉันได้เตรียม 4 ไฟล์สำหรับการตรวจสอบเซอร์โว (180.py, 90.py, 0.2y)
ผม. สำหรับ 0 องศา (ทั้งเซอร์โวที่ 0 องศา).
ii. สำหรับ 90 องศา (ทั้งเซอร์โวที่ 90 องศา)
สาม. สำหรับ 180 องศา (ทั้งเซอร์โวที่ 180 องศา)
iv. รหัสแหล่งที่มา ()
6. ติดตั้งกล้อง PI บนขั้วต่อกล้องและเมานต์เซอร์โวตามที่อธิบายไว้ในวิดีโอแนะนำ
NS. URL บทช่วยสอน:-
7. เรียกใช้รหัสติดตามวัตถุ (ดาวน์โหลดจาก:-)
8. เปิดเทอร์มินัล
NS. เรียกใช้: - แหล่งที่มา ~/.profile
NS. วิ่ง: - workon cv.
ค. ตรวจสอบ “(CV)” หน้าคำสั่งเทอร์มินัล
NS. เรียกใช้รหัสติดตามวัตถุ: - 'เส้นทางของตำแหน่งไฟล์ของคุณ'/python3.'ชื่อไฟล์'
อี ออกกด:- Esc
ขั้นตอนที่ 1: การทำงานของโครงการ:-
- ภาพที่ถ่ายโดยกล้อง RPI และประมวลผลใน python โดยใช้ openCV
- ภาพที่ถ่ายจะถูกแปลงจาก RGB เป็น HSV
- ใช้มาสก์สำหรับสีเฉพาะ (ในรหัสสุดท้ายของฉันฉันใช้สีแดง & รหัสพิเศษถูกใช้เพื่อค้นหาค่าการกำบังที่ถูกต้องซึ่งแนบได้ยินด้วย)
- ค้นหา Contours สำหรับวัตถุสีแดงทั้งหมดในเฟรม
- ในที่สุดการจัดเรียงและเลือก Contours แรกจะทำให้วัตถุสีแดงอยู่ในเฟรม
- วาดรูปสี่เหลี่ยมผืนผ้าบนวัตถุแล้วหาจุดกึ่งกลางแนวนอนและแนวตั้งของสี่เหลี่ยมผืนผ้า
- ตรวจสอบความแตกต่างระหว่างศูนย์กลางแนวนอนของเฟรมและศูนย์กลางแนวนอนของวัตถุสี่เหลี่ยมจัตุรัส
- หากความแตกต่างมากกว่า ให้ตั้งค่าแล้วเริ่มย้ายเซอร์โวแนวนอนเพื่อลดความแตกต่าง
- เช่นเดียวกับที่เราสามารถย้ายแกนตั้งและในที่สุดการติดตามวัตถุก็ใช้งานได้ 180 องศา
ขั้นตอนที่ 2: เตรียม RPI:- เวลาของคำแนะนำในการตั้งค่าคือ:- 15:10 ถึง 16:42 ในวิดีโอ Youtube
ดาวน์โหลด Raspbian Streach แล้วใส่ลงในการ์ดหน่วยความจำ 32 GB URL:-https://downloads.raspberrypi.org/raspbian_full_latest
หลังจากดาวน์โหลดภาพ Raspbian แล้ว ให้เปิดเครื่องรูดและจัดเก็บบนเดสก์ท็อป (หรือที่ที่เหมาะสม)
หากต้องการเขียนภาพลงในการ์ด SD ให้ดาวน์โหลด Eatcher
URL:
เชื่อมต่อสาย HDMI เป็น VGA เข้ากับ RPI และจอภาพ LCD
เชื่อมต่อแป้นพิมพ์และเมาส์ USB และเปิดเครื่อง PI โดยใช้อะแดปเตอร์แปลงไฟ (2.5 แอมป์)