Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Příběh
Udělal jsem tento projekt, abych se naučil zpracování obrazu pomocí Raspberry PI a otevřeného CV. Aby byl tento projekt zajímavější, použil jsem dva servomotory SG90 a namontoval na něj kameru. Jeden motor se pohyboval horizontálně a druhý motor se pohyboval vertikálně.
Zásoby
Úplný zápis
Sledování objektů na základě detekce barev
1. Nainstalujte Raspbian Strech na Raspberry 3B+
A. Podívejte se na moje video na YouTube od: - do 15:10 až 16:42 - >>
b. Pomocí převaděče HDMI-VGA propojte RPI s monitorem a USB klávesnicí a myší.
C. Spusťte pracovní plochu RPI a postupujte podle dalšího kroku.
d. Pokud jste začátečník, doporučujeme použít monitor, protože přímý přístup k PI je pro nováčka snadný.
2. Nainstalujte Open CV na RPI3B+
A.
b. Čas potřebný:- Přibližně 8 a více hodin
C. Strávil jsem dva dny na dokončení tohoto procesu (20 hodin), takže buďte vášniví a klidní.
3. Nainstalujte knihovnu PCM9685 na Raspberry PI.
A. Referenční dokumentace:-https://learn.adafruit.com/adafruit-16-channel-servo-driver-with-raspberry-pi?view=all
b. Zkontrolujte připojení PCM9685 i2c pomocí RPI
já. Spusťte:-sudo apt-get install python-smbus
ii. Spusťte:-sudo apt-get install i2c-tools
iii. Spusťte: - sudo i2cdetect -y 1
1. Obrázek úspěšné komunikace s PCM9685
C. Otevřete Terminál a spusťte: - zdroj ~/.profile #pro vstup do virtuálního prostředí.
d. Otevřete Terminál a spusťte:-pip3 install adafruit-circuitpython-servokit
E. Nikdy nepoužívejte „sudo“, jinak budete čelit problému, protože pomocí „sudo“nenainstalujete knihovnu ve vašem virtuálním prostředí.
F. Kontrola serva
já. Otevřete python3 a zadejte níže uvedené příkazy.
ii. z adafruit_servokit importovat ServoKit
iii. kit = ServoKit (kanály = 16)
iv. kit.servo [0].angle = 90
v. kit.servo [0].angle = 180
vi. kit.servo [0].angle = 0
4. Detail připojení:-
A. Připojte 5VDC k PCM9685 (pro provoz Servo je vyžadováno externí 5V)
b. / Připojte PC9685 I2C a logické napájecí piny s piny RPI.
C. Připojte dva servo k PCM9685
5. Kontrola serv
A. Připravil jsem 4 soubory pro kontrolu serv (180.py, 90.py, 0.py).
já. Pro 0 stupňů. (Oba servo na 0 stupních).
ii. Na 90 stupňů. (Oba Servo na 90 stupňů).
iii. Na 180 stupňů. (Oba Servo na 180 stupňů).
iv. Zdrojový kód ()
6. Nainstalujte PI kameru na konektor kamery a namontujte servo, jak je vysvětleno ve výukovém videu.
A. URL výukového programu:-
7. Spusťte kód sledování objektu (stáhnout z:-)
8. Otevřete Terminál
A. Spusťte: - source ~/.profile.
b. Spustit: - workon cv.
C. Před příkazem terminálu zkontrolujte „(CV)“.
d. Spusťte kód sledování objektu:- „cesta k umístění vašeho souboru“/python3.’název souboru ‘
E. Pro ukončení stiskněte:- Esc
Krok 1: Zpracování projektu:-
- Obrázek zachycený kamerou RPI a zpracovaný v pythonu pomocí openCV.
- Zachycený obraz je převeden z RGB na HSV.
- Použít masku pro konkrétní barvu (v mém konečném kódu jsem použil ČERVENOU barvu a speciální kód se používá k nalezení přesné maskovací hodnoty, která je také připojena).
- Hledání obrysů pro všechny červené objekty v rámečku.
- Nakonec seřazením a výběrem prvních obrysů získáte nejsilnější červený objekt v rámečku.
- Nakreslete obdélník na objekt a najděte vodorovný a svislý střed obdélníku.
- Zkontrolujte rozdíl mezi horizontálním středem rámečku a horizontálním středem obdélníku objektu.
- Pokud je rozdíl větší než nastavená hodnota, začněte pohybovat horizontálním servem, abyste minimalizovali rozdíl.
- Stejným způsobem můžeme pohybovat svislou osou a nakonec sledování objektu funguje na 180 stupňů.
Krok 2: Příprava RPI:- Průvodce instalací je:- 15:10 až 16:42 ve videu na YouTube
Stáhněte si Raspbian Streach a přidejte jej na 32 GB paměťovou kartu. URL: -https://downloads.raspberrypi.org/raspbian_full_latest.
Po stažení obrázku Raspbian jej rozbalte a uložte na plochu (nebo vhodné místo).
Chcete -li zapsat obrázek na kartu SD, stáhněte si Eatcher.
URL:
Připojte kabel HDMI k VGA k RPI a LCD monitoru.
Připojte USB klávesnici a myš a zapněte PI pomocí napájecího adaptéru (2,5 A).