INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Dit is die 2de weergawe van Rubik se kubusgereedskap wat gemaak is vir die oplossing van geblinddoek. Die eerste weergawe is ontwikkel deur javascript, u kan die projek RubiksCubeBlindfolded1 sien
Anders as die vorige, gebruik hierdie weergawe OpenCV -biblioteek om die kleure op te spoor en die insette in te voer, en bied 'n beter visualiseringstegniek.
Die grootste probleem in hierdie nuutste weergawe is die visualisering van uitsette, die volgordeitems word op 'n slag op die getekende kubus 1 vertoon. Aangesien die kubus 'n 3D -vorm het, is dit moeilik om alle kante op dieselfde tyd te vertoon. Sien die resultate op my YouTube -kanaal YouTube -video
Ek gebruik 'n plakkerlose kubus, dit benodig 'n persoonlike herkenning en die meeste open source kodes word nie ondersteun nie. Ek het hierdie open source gebruik, ontwikkel deur Kim Koomen, wat vaste gebiede op die kameraram spesifiseer om die korrekte kleure van die kubusgesigte qbr -projek op te spoor
Stap 1: Komponente benodig
- Framboos Pi
- webkamera
of u kan u skootrekenaar gebruik
Stap 2: Afhanklikheid
- Python 3
- lomp biblioteek
- OpenCV -biblioteek
$ sudo apt-get install python3-opencv
Rubiks -geblinddode pakket
$ pip3 installeer RubiksBlindfolded
Stap 3: Voorbereidings
U moet die kleuropsporing as 'n voorstap kalibreer. Die HSV -kleurkodes wissel vanweë die beligting, die kwaliteit en resolusie van die kamera en die kleure self. In my geval kombineer ek wit en geel ligte om die regte resultate te kry.
Dateer die funksie get_color_name (hsv) op colordetection.py op
Die oorspronklike bronkode gebruik 'n kociemba -pakket om die kubus op te los; dit word opgelos deur die omgekeerde stappe van enige skommel te vind. In hierdie weergawe gebruik ek my eie oplossingspakket met die naam RubiksBlindfolded wat op PyPI gepubliseer is. Sien die beskrywing om te weet hoe u dit kan gebruik RubiksBlindfolded
Stap 4: Gebruik
Nadat u al die afhanklikhede geïnstalleer het en u kamera ingestel het, is dit tyd om 'n blindfolded.py -script uit te voer
Eerstens moet u u kubus in die regte rigtings skandeer. Dit is die kubusstruktuur, die volgorde van skandering van die gesigte is nie belangrik nie. Let op dat dit die standaardkleure van die kubusvlakke is; u kan dit verander deur die notasiewoordeboek op die blindfolded.py -skript op te dateer
Om die skandering te maak, druk die spasie -sleutel om die vertoning en ESC -sleutel na die voltooiing te stoor
Tweedens kan u die oplossingsvolgorde op die konsole sien, en die pariteitkontrole om u te vertel of u die pariteitsalgoritme moet toepas of nie
Derdens sal 'n nuwe raam gegenereer word wat 2 getekende blokkies vir randvolgorde en hoekvolgorde vertoon. U kan die pyltjie links en regs gebruik om tussen die volgorde -items te skakel, en die pyltjie -op -en -af -pyltjies om tussen die rand en hoek te wissel. die liggrys kleur verteenwoordig die huidige volgorde.
U kan die kleure van die huidige buffer sien wat dinamies verander deur pyltjie sleutels. Grys kleure verteenwoordig die teikenkubie, en pienk kleur verteenwoordig die omruilende gesig
Bronkode
github.com/mn-banjar/blindfolded2