Download Game! Currently 131 players and visitors. Last logged in:WandererBylethGlaurungWarund

Blitzer's Blog >> 71468

Back to blogs index
Posted: 20 Jul 2026 10:36 [ permalink ]
Oletusasetelma on tC$ydellinen. Teemme nyt pC$invastoin kuin aiemmin:
siirrymme sisC$isestC$ (serial/API) telemetriasta tC$ysin ulkoiseen,
puhtaaseen konenC$kC6C6n (Computer Vision). TC$mC$ on uskomattoman skaalautuva
tapa rakentaa valvontaa tai pelibotteja, koska sille on aivan sama, pyC6riikC6
ruudulla Hauki OS, Linux vai Windows. Se nC$kee vain muuttuvat pikselit.

TC$mC$n rakentamiseen tarvitsemme Python-skriptin, joka lukee
VNC-kehyspuskuria ja suorittaa ns. Frame Differencing -logiikan (kehysten
vC$linen erotus) yhdistettynC$ Bounding Box (rajauslaatikko) -etsintC$C$n.

Suunnittelin sinulle erittC$in kevyen arkkitehtuurin, joka kC$yttC$C$
vncdotool-kirjastoa (yhteyteen) ja opencv-python / numpy -kirjastoja
(laskentaan).

NC$in "CV-Diff" -moottori toimii:
Taustan mallinnus: Skripti pitC$C$ muistissa edellisen ruudun (Frame A).

Absoluuttinen Erotus: Kun uusi ruutu (Frame B) tulee, se laskee diff = abs(B -
A). Kaikki paikoillaan pysyvC$ muuttuu mustaksi.

Kynnysarvo (Thresholding): Kaikki pikselit, jotka muuttuivat merkittC$vC$sti,
muutetaan puhtaan valkoisiksi, jolloin saadaan "muutoskartta" (Motion Mask).

CC$riviivat (Contours): OpenCV lC6ytC$C$ muutoskartasta yhtenC$iset valkoiset
alueet ja piirtC$C$ niiden ympC$rille rajauslaatikot (X, Y, W, H).

Vertailu edelliseen:

Jos tietyssC$ koordinaatistossa ei enC$C$ ole muutosta, mutta edellisellC$
kerralla oli -> [-] GFX X, Y poistui.

Jos lC6ytyy uusi laatikko -> [+] GFX X, Y, W, H ilmestyi.

Python Prototyyppi (x-vnc-cv-diff.py)
TC$mC$ on tC$ysin toimiva pohja. Voit ajaa tC$tC$ esimerkiksi hauki-obs
-koneellasi (se tulostaa konsoliin [+] ja [-] -deltamuutoksia havaituista
liikkuvista objekteista, kuten Breakoutin pallosta tai mailasta).

(Huom: Tarvitset todennC$kC6isesti pip install vncdotool opencv-python numpy
Pillow)