Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Implementazione robot su 4 ruote con telecamera ed OpenCV

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[11] Re: Implementazione robot su 4 ruote con telecamera ed OpenC

Messaggioda Foto Utenteangus » 21 mar 2025, 22:24

in /dev/null no one can hear you scream
Avatar utente
Foto Utenteangus
8.475 4 6 9
G.Master EY
G.Master EY
 
Messaggi: 4170
Iscritto il: 20 giu 2008, 17:25

0
voti

[12] Re: Implementazione robot su 4 ruote con telecamera ed OpenC

Messaggioda Foto Utentealien75 » 22 mar 2025, 7:26

Capisco!
Vedo che non è una cosa semplice ed alla portata di tutti.
Solo per fargli capire se c'è una porta aperta o chiusa ci sono molte righe di codice.
Avatar utente
Foto Utentealien75
1 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 597
Iscritto il: 31 lug 2011, 14:08

0
voti

[13] Re: Implementazione robot su 4 ruote con telecamera ed OpenC

Messaggioda Foto Utentealien75 » 22 mar 2025, 7:53

Grazie.
Ho trovato il seguente algoritmo:
Codice: Seleziona tutto
import cv2
from numpy import *

test_imgs = ['night_open.jpg', 'night_closed.jpg', 'day_open.jpg', 'day_closed.jpg']

for imgFile in test_imgs:
    img = cv2.imread(imgFile)
    height, width, channels = img.shape
    mask = zeros((height+2, width+2), uint8)

    #the starting pixel for the floodFill
    start_pixel = (510,110)
    #maximum distance to start pixel:
    diff = (2,2,2)

    retval, rect = cv2.floodFill(img, mask, start_pixel, (0,255,0), diff, diff)

    print(retval)

    #check the size of the floodfilled area, if its large the door is closed:
    if retval > 10000:
        print(imgFile + ": garage door closed")
    else:
        print(imgFile + ": garage door open")

    cv2.imwrite(imgFile.replace(".jpg", "") + "_result.jpg", img)


l'interprete protesta e mi dice che su floodFill() si aspetta due argomenti:

Codice: Seleziona tutto
File "/home/fabio/Scrivania/Video.py", line 16, in <module>
    retval, rect = cv2.floodFill(img, mask, start_pixel, (0,255,0), diff, diff)
ValueError: too many values to unpack (expected 2)


Non so cosa voglia!

qui https://answers.opencv.org/question/567 ... incascade/ consiglia l'uso della RNA (troppo complesso e lungo) ho quindi scelto la strada più corta usando l'algoritmo sopra.
Avatar utente
Foto Utentealien75
1 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 597
Iscritto il: 31 lug 2011, 14:08

0
voti

[14] Re: Implementazione robot su 4 ruote con telecamera ed OpenC

Messaggioda Foto Utentexyz » 24 mar 2025, 1:50

alien75 ha scritto:Non so cosa voglia!

La funziona ritorna un solo valore tu l'assegni a due variabili.

Esistono alternative più moderne a OpenCV per il riconoscimento di oggetti nelle immagini, ad esempio YOLO, con l'ultima versione la 11:
https://github.com/ultralytics/ultralytics

Oppure puoi usare una LLM multimodale con riconoscimento delle immagini che può girare in locale, dipende dalla potenza dall'hardware a disposizione. Lama di Meta o Gemini di Goggle hanno modelli con questa funzione.
Avatar utente
Foto Utentexyz
6.864 2 4 6
G.Master EY
G.Master EY
 
Messaggi: 1778
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

Precedente

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 73 ospiti