Përmbajtje:

Analizues i modeleve të trafikut duke përdorur zbulimin e objekteve të gjalla: 11 hapa (me fotografi)
Analizues i modeleve të trafikut duke përdorur zbulimin e objekteve të gjalla: 11 hapa (me fotografi)

Video: Analizues i modeleve të trafikut duke përdorur zbulimin e objekteve të gjalla: 11 hapa (me fotografi)

Video: Analizues i modeleve të trafikut duke përdorur zbulimin e objekteve të gjalla: 11 hapa (me fotografi)
Video: Top News - Aksidentet, ‘ruaj jetën dhe kuletën!’/ Apeli policor për sjelljet agresive në rrugë 2024, Nëntor
Anonim
Image
Image
Analizues i modeleve të trafikut duke përdorur zbulimin e objekteve të gjalla
Analizues i modeleve të trafikut duke përdorur zbulimin e objekteve të gjalla

Në botën e sotme, semaforët janë thelbësorë për një rrugë të sigurt. Sidoqoftë, shumë herë, semaforët mund të jenë të bezdisshëm në situatat kur dikush po i afrohet dritës ashtu siç po kthehet në të kuqe. Kjo humb kohë, veçanërisht nëse drita po pengon një automjet të vetëm të kalojë nëpër kryqëzim kur nuk ka askënd tjetër në rrugë. Risia ime është një semafor i zgjuar që përdor zbulimin e objekteve të drejtpërdrejta nga një aparat fotografik për të numëruar numrin e makinave në secilën rrugë. Pajisja që do të përdor për këtë projekt është një Raspberry Pi 3, një modul kamera dhe pajisje të ndryshme elektronike për vetë dritën. Duke përdorur OpenCV në Raspberry Pi, informacioni i mbledhur do të drejtohet përmes kodit që kontrollon LED -të përmes GPIO. Në varësi të këtyre numrave, semafori do të ndryshojë, duke lejuar që makinat të kalojnë në rendin më optimal. Në këtë rast, korsia me më shumë makina do të kalonte në mënyrë që korsia me më pak makina të ishte në punë, duke zvogëluar ndotjen e ajrit. Kjo do të eliminonte situatat kur shumë makina janë ndalur ndërsa nuk ka makina në rrugën kryqëzuese. Kjo jo vetëm që kursen kohë për të gjithë, por gjithashtu kursen mjedisin. Koha kur njerëzit ndalen në një shenjë ndalese me motorin në punë, rrit sasinë e ndotjes së ajrit, kështu që duke krijuar një semafor të zgjuar, unë jam në gjendje të zgjedh modelet e dritës në mënyrë që makinat të kalojnë sa më pak kohë të jetë e mundur me automjetin e tyre të ndaluar Me Në fund të fundit, ky sistem i semaforëve mund të zbatohet në qytete, periferi, apo edhe në zonat rurale për të qenë më efikas për njerëzit do të zvogëlonte ndotjen e ajrit.

Hapi 1: Lista e Pjesëve

Materiale:

Raspberry Pi 3 Model B v1.2

Kamera Raspberry Pi v2.1

Furnizimi me energji mikro USB 5V/1A

Monitor HDMI, tastierë, kartë SD miu me Raspbian Jessie

Kabllo Raspberry Pi GPIO Breakout

LED të kuq, të verdhë, jeshil (2 nga secila ngjyrë)

Lidhëset femra për Raspberry Pi (7 ngjyra unike)

Tel i përzgjedhur me 24 matës (ngjyra të ndryshme) + tuba për tkurrjen e nxehtësisë

Panel ose platformë druri 2’x2’

Vida druri

Sipërfaqe e zezë (karton, pllakë shkumë, tabelë posteri, etj.)

Shirit i bardhë (ose çdo ngjyrë tjetër përveç të zezë) për shënimet e rrugëve

Bojë me llak të zi (për PVC)

Pipe”tub PVC me nyje bërryli 90 gradë (2), prizë T (1), përshtatës femër (2)

Mjetet

Makine per ngjitjen e metalit

Printer 3D

Stërvitje me copa stërvitje të ndryshme

Breadboard

Armë e nxehtë

Hapi 2: Vendosja e Raspberry Pi

Ngarkoni kartën SD në Raspberry Pi dhe filloni.

Ndiqni këtë udhëzues për të instaluar bibliotekat e kërkuara OpenCV. Sigurohuni që keni kohë për ta bërë këtë hap, pasi instalimi i bibliotekës OpenCV mund të zgjasë disa orë. Sigurohuni që gjithashtu të instaloni dhe konfiguroni kamerën tuaj këtu.

Ju gjithashtu duhet të instaloni pip:

kamera

gpiozero

RPi. GPIO

Këtu është kodi i përfunduar:

nga picamera.array import PiRGBArray

nga picamera import PiCamera

import picamera.rray

importoni numpy si np

koha e importit

import cv2

importoni RPi. GPIO si GPIO

koha e importit

GPIO.setmode (GPIO. BCM)

për i në (23, 25, 16, 21):

GPIO.setup (i, GPIO. OUT)

kamera = PiCamera ()

cam.rezoluta = (480, 480)

kamera.framerate = 30

i papërpunuar = PiRGBArray (kamera, madhësia = (480, 480))

koha. gjumi (0.1)

colorLower = np.array ([0, 100, 100])

colorUpper = np. array ([179, 255, 255])

nisja = 0

inithoriz = 0

numërues = 0

për kuadrin në cam.capture_continuous (raw, format = "bgr", use_video_port = True):

kuadër = kornizë.rray

hsv = cv2.cvtColor (kornizë, cv2. COLOR_BGR2HSV)

maskë = cv2.inRange (hsv, colorLower, colorUpper)

maskë = cv2.blur (maskë, (3, 3))

maskë = cv2.dilate (maskë, Asnjë, përsëritje = 5)

maskë = cv2.erode (maskë, Asnjë, përsëritje = 1)

maskë = cv2.dilate (maskë, Asnjë, përsëritje = 3)

mua, thresh = cv2. pragu (maskë, 127, 255, cv2. THRESH_BINARY)

cnts = cv2.findContours (thresh, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE) [-2]

qendra = Asnjë

vert = 0

horizont = 0

nëse len (cnts)> 0:

për c në cnts:

(x, y), rrezja = cv2.minMbyllja Rrethi (c)

qendra = (int (x), int (y))

rreze = int (rreze)

cv2. rreth (kornizë, qendër, rreze, (0, 255, 0), 2)

x = int (x)

y = int (y)

nëse 180 <x <300:

nëse jeni> 300:

vert = vert +1

elif y <180:

vert = vert +1

tjeter:

vert = vert

nëse 180 <y <300:

nëse x> 300:

horizont = horizont +1

elif x <180:

horizont = horizont +1

tjeter:

horizont = horizont

nëse vert! = initvert:

print "Makina në korsi vertikale:" + str (vert)

initvert = vert

print "Makina në korsi horizontale:" + str (horizont)

inithoriz = horizont

print '----------------------------'

nëse horizont! = inithoriz:

print "Makina në korsi vertikale:" + str (vert)

initvert = vert

print "Makina në korsi horizontale:" + str (horizont)

inithoriz = horizont

print '----------------------------'

nëse vert <horizont:

GPIO.putput (23, GPIO. HIGHT)

GPIO.putput (21, GPIO. HIGHT)

GPIO.putput (16, GPIO. LOW)

GPIO.putput (25, GPIO. LOW)

nëse horizont <vert:

GPIO.putput (16, GPIO. HIGHT)

GPIO.putput (25, GPIO. HIGHT)

GPIO.putput (23, GPIO. LOW)

GPIO.putput (21, GPIO. LOW)

cv2.imshow ("Frame", frame)

cv2.imshow ("HSV", hsv)

cv2.imshow ("Thresh", thresh)

i papërpunuar. cungoj (0)

nëse cv2.waitKey (1) & 0xFF == ord ('q'):

pushim

cv2.destroyAllWindows ()

GPIO.cleanup ()

Hapi 3: Raspberry Pi dhe Mount Camera

Raspberry Pi dhe Mount Camera
Raspberry Pi dhe Mount Camera
Raspberry Pi dhe Mount Camera
Raspberry Pi dhe Mount Camera
Raspberry Pi dhe Mount Camera
Raspberry Pi dhe Mount Camera
Raspberry Pi dhe Mount Camera
Raspberry Pi dhe Mount Camera

Printoni kasën dhe montoni dhe montoni kasën dhe kamerën.

Hapi 4: Montimi i semaforit

Kuvendi i semaforit
Kuvendi i semaforit
Kuvendi i semaforit
Kuvendi i semaforit
Kuvendi i semaforit
Kuvendi i semaforit

Provoni semaforin me një dërrasë buke. Çdo grup i kundërt i LED -ve ndajnë një anodë, dhe të gjithë ndajnë një katodë (tokë) të përbashkët. Duhet të ketë gjithsej 7 tela hyrës: 1 për secilën palë LEDS (6) + 1 tel tokëzimi. Saldoni dhe montoni semaforët.

Hapi 5: Tela (Pjesa 1)

Tela (Pjesa 1)
Tela (Pjesa 1)
Tela (Pjesa 1)
Tela (Pjesa 1)
Tela (Pjesa 1)
Tela (Pjesa 1)
Tela (Pjesa 1)
Tela (Pjesa 1)

Ngjitni kunjat e kokës së femrës në rreth 5 metra tela. Këto janë anët që këto tela do të kapen më vonë përmes tubave të PVC. Sigurohuni që të jeni në gjendje të dalloni grupet e ndryshme të dritave (2 x 3 ngjyra dhe 1 tokë). Në këtë rast, unë shënova skajet e një grupi tjetër të telave të kuq, të verdhë dhe blu me mprehtë, kështu që e di se cila është cila.

Hapi 6: Ndërtimi i Mjedisit

Ndërtimi i Mjedisit
Ndërtimi i Mjedisit
Ndërtimi i Mjedisit
Ndërtimi i Mjedisit
Ndërtimi i Mjedisit
Ndërtimi i Mjedisit
Ndërtimi i Mjedisit
Ndërtimi i Mjedisit

Ndërtimi i mjedisit Bëni një paletë druri 2 metra katrore si kjo. Druri i mbeturinave është i mirë pasi do të mbulohet. Shponi një vrimë që i përshtatet përshtatësit tuaj. Stërvitni vida nëpër anët e paletës për të siguruar tubin PVC në vend. Pritini tabelën e zezë të shkumës që të përputhet me paletën e drurit nën të. Stërvitni një vrimë që përshtatet rreth tubit PVC. Përsëriteni në këndin e kundërt. Shënoni rrugët me ndonjë shirit të bardhë.

Hapi 7: Përfundimi i Kornizës PVC

Përfundimi i Kornizës PVC
Përfundimi i Kornizës PVC
Përfundimi i Kornizës PVC
Përfundimi i Kornizës PVC
Përfundimi i Kornizës PVC
Përfundimi i Kornizës PVC

Në tubin e sipërm, shponi një vrimë që mund të përshtatet me një pako telash. Një vrimë e përafërt është e mirë për sa kohë që ju mund të hyni në brendësi të tubave. Gjarpëroni telat përmes tubave PVC dhe nyjeve të bërrylit për një përshtatje provë. Pasi të jetë përfunduar gjithçka, lyeni PVC -në me bojë llak të zezë për të pastruar pamjen e kornizës kryesore. Pritini një hendek të vogël në njërin prej tubave PVC për të përshtatur një bashkim T. Shtoni një tub PVC në këtë bashkim t për të cilin do të varet semafori. Diametri mund të jetë i njëjtë me kornizën kryesore (1/2 ), megjithëse nëse përdorni një tub më të hollë, sigurohuni që telat 7 të kalojnë përmes gjarpërit. Shponi një vrimë përmes këtij tubi që të varet semafori.

Hapi 8: Instalime (Pjesa 2)

Tela (Pjesa 2)
Tela (Pjesa 2)
Tela (Pjesa 2)
Tela (Pjesa 2)
Tela (Pjesa 2)
Tela (Pjesa 2)

Rilidhni gjithçka siç është testuar më parë. Kontrolloni dy herë semaforin dhe instalimet elektrike me një dërrasë buke për të konfirmuar që të gjitha lidhjet janë bërë. Ngjitni semaforin telat që vijnë përmes krahut T-joint. Mbështillni telat e ekspozuar me shirit elektrik për të parandaluar çdo pantallona të shkurtra dhe për një pamje më të pastër.

Hapi 9: Përfundoi

Përfundoi!
Përfundoi!
Përfundoi!
Përfundoi!
Përfundoi!
Përfundoi!
Përfundoi!
Përfundoi!

Për të ekzekutuar kodin, sigurohuni që të vendosni burimin tuaj si pr/.profile dhe cd në vendndodhjen e projektit tuaj.

Hapi 10: Shtesa (Fotografi)

Recommended: