-
Fototrend

Új hozzászólás Aktív témák
-
Micsurin
nagyúr
válasz
dabadab
#19012
üzenetére
Na azóta sikerült haladni is a szakdolgozattal végre hála a nyárnak és az időnek, a végén még februárban kint leszek...
Kód gatyába rázva a teljesítményt amit akartam megnyertem végre értelmesen fut viszont még mindig szórakoztat az a "villódzás" és ötletem sincs már miért maradt meg még mindig ami csak azért ciki mert ilyenkor eltűnik a képről a körívem és értelemszerűen null problémákba futok.Pusztán elméleti síkon ha ezek a függvények adottak:
serial_Read(); -> Gondolom egyértelmű.perspective_transform(); -> Transzformációs mátrix alapján előállít egy kb felülnézeti képet.
reverse_perspective_transform(); -> ^ eredetit adja vissza a fentebbiből.
preprocess_frame(); -> Egy konyhakész képeket ad vissza, az alap képen elvégzi az elmosást a szürke árnyalatokat az élkiemelést (ezek mind OpenCV beépítettek nem nagy téma), meghívja a transzformálást majd arra a vonal felismerést és visszatranszformálást zárásképp. A madártávlatival és a visszatranszformálttal térünk vissza.
draw_circle(); -> Serialról olvasott érték alapján rajzol egy kört. Ha nincs értelmes érték akkor 0 vagy előző értelmes érték alapján jön vissza a kör. (első futásra 0 utána mindig az előző valid érték alapján) A kör mindig úgy van a sugár alapján pozícionálva, hogy ha 0 fok jönne vissza akkor kb egy egyenes jelenjen meg középen körív által. Ehhez az előző elmozdulást alapul véve mindig balra vagy jobbra van kicsit eltolva.
A main loop pedig ebben a sorrendben hív mindent:
Serialt meghívja ezután ráhívja a preprocess_frame-et majd itt a visszajött madártávlatira ráhívja a draw_circle a kapott Serial értékkel. Ekkor megjelenítjük mind a visszatranszformált képet a felismert vonalakkal mind a madártávlatit amire csak a kört van kirajzolva. Ez mind jó és szép végre elértem, hogy ~27-30FPS-el futunk 560p-n.Na most az a gond, hogy rendszeresen jön vissza 0 mikor nem kéne ezért az amúgy szép folyamatosan kirajzolt kör vissza visszaáll középre vagy épp nem kerül kirajzolásra (kivétel nincs, nem fut hibára csak ha épp a körívet akarok szín alapján kikeresni a képen nem lesz ott... akkor már jön a kivétel.) Mintha a draw_circle(); nem kerülne meghívásra...
Még mindig az a hibája tippre, hogy lusta voltam párhuzamosítani vagy a logika lenne rossz a sorrendet tekintve, hogy mi miből mit hív?
Próbáltam szokni a Pythonos párhuzamosítást de ez valami kegyetlen .NET után. Inkább reszeltem egy hónapot a kódot, hogy nyerjek mindenhol még némi futási időt csak ne kelljen szálazzak de gondolom nem fogom megúszni...

Azért sántít, hogy valami hívási logika hiszti lesz a háttérben és nem szálkezelési mert sem a teljesítmény nem esik be sem a vonal felismerés. Egyszerűen tényleg mintha lennének esetek mikor nem kerül meghívásra a draw_circle()-öm.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Jogász topik
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Arch Linux
- Elektromos autók - motorok
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Robot fűnyírók
- Android Autót minden mobilra!
- Linux kezdőknek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Sony MILC fényképezőgépcsalád
- További aktív témák...
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 128 GB-100%-3hó gari!
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Natúr Titán - 12 hónap JÓTÁLLÁS - Kártyafüggetlen, 86% Akkumulátor
- ÁRCSÖKKENTÉS MacBook Pro 17" i7 2.6 GHz 8GB RAM 8 ciklus az akkuban!
- Decathlonos 43-as boxcipő, alig használt, hibátlan állapotban
- Gamer PC-Számítógép! Csere-Beszámítás! R7 7800X3D / 32GB DDR5 / RX 9070 / 2TB SSD!
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest

Kód gatyába rázva a teljesítményt amit akartam megnyertem végre értelmesen fut viszont még mindig szórakoztat az a "villódzás" és ötletem sincs már miért maradt meg még mindig ami csak azért ciki mert ilyenkor eltűnik a képről a körívem és értelemszerűen null problémákba futok.
