Sziasztok !
Van egy kicsi python script, amiben a kamera képét ( vagy annak elemeit ) egy tömbben tárolja. Ennek a változásait elemzi és megállapítja, hogy volt e mozgás. Engem az elmozdulsás iránya, mértéke érdekelne.
Hogyan lehet kinyerni a tömbből az x,y értékeit?
A script : https://pastebin.com/DNSF7rpT
A kimenet ( részlet ) :
Motion detected!
a = [[62 58 0 ... 0 0 0]
[62 42 30 ... 36 0 0]
[52 30 30 ... 0 0 0]
...
[12 14 20 ... 20 20 0]
[ 0 12 24 ... 16 16 0]
[ 0 0 30 ... 0 0 0]]
x = ?
y = ?
- 552 megtekintés
Hozzászólások
Nem vagyok benne biztos, hogy jól értem, mit csinálsz, de ha az 'a' - t nem vágod felül a saját hosszával (azaz inkább pl. a_len = np.sqrt(...), akkor print('x = ', a['x']) és print('y = ', a['y']) amit keresel. Persze ekkor if (a_len > 60).sum() > 10: és print('a_len = ', a_len) kell.
- A hozzászóláshoz be kell jelentkezni
Amit csinálni szeretnék az az, hogy megtudjam, hogy a kamera előtti tárgy milyen x,y irányban és milyen mértékben mozdult el, de ezt "gyorsan" és akkor amikor a mozgás történik. A javasolt megoldás egy csomó hibát dobott, valószínú, hogy a nem megfelelő módú alkalmazásaim miatt.
- A hozzászóláshoz be kell jelentkezni
Ha adottak a tárgyat leképező "folt" (a>60) koordinátai, akkor a "tömegközéppont" elmozdulását lehetne számítani.(Speciálisan minden pont tömege 1.)
Valamely időpontban:
tmkp_x=(x1+...+xn)/n
tmkp_y=(y1+...+yn)/n
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
Akár adottak is lehetnek, ha kell, de az újabb erőforrást, időt emészt fel.
Izgalmas, érdekes amit írtál. Köszönöm az ötleteidet.
- A hozzászóláshoz be kell jelentkezni
Ha arra vagy kíváncsi, hogy a 60-nál nagyobb értékeknek mi az indexe:
x,y=np.where(a>60)
print(x,y)
print( a[x,y] )
x,y egy-egy np.array, amelyek külön, de a megfelelő sorrendben tartalmazzák a koordinátákat.
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
Köszönöm az ötleteket.
Tulajdonképpen kerestem és találtam egy scriptet az eredeti picamera dokumentációjában: https://picamera.readthedocs.io/en/release-1.13/api_array.html#pimotion… és azt szeretném átalakítani a saját céljaimnak megfelelően. Ezt próbálom megérteni és az aktuális x,y értékeket kinyerni.
Azt már látom, hogy a számomra egy csomó felesleges dolgot tartalmaz. Előbb kamera setupot kéne csinálnom, felbontást, munkaterületet csökkenteni, stb, hogy gyorsítani tudjam az x,y feldolgozásomat.
Este ( éjjel ) tudom folytatni.
A linket, javítottam, szerkesztettem.
- A hozzászóláshoz be kell jelentkezni