Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Bu Rubik kubik asbobining ko'r -ko'rona hal qilish uchun qilingan 2 -chi versiyasi. Birinchi versiya javascript tomonidan ishlab chiqilgan, siz RubiksCubeBlindfolded1 loyihasini ko'rishingiz mumkin
Oldindan farqli o'laroq, bu versiya ranglarni aniqlash va kirishni kiritish uchun OpenCV kutubxonasidan foydalanadi va vizualizatsiya texnikasini yaxshilaydi.
Bu yangi versiyadagi eng katta muammo - bu chiqishlarni vizualizatsiya qilish, ketma -ketlik elementlari chizilgan kub 1da ko'rsatiladi. Kub 3D shakli bo'lgani uchun, bir vaqtning o'zida barcha qirralarini ko'rsatish qiyin. Natijalarni mening YouTube kanalimdagi YouTube videosida ko'ring
Men yopishqoq bo'lmagan kubdan foydalanayapman, bu maxsus tan olinishi kerak va ko'pchilik ochiq kodlar qo'llab -quvvatlanmaydi. Men Kim Koomen tomonidan ishlab chiqilgan, qbr loyihasining kubiklarining to'g'ri ranglarini aniqlash uchun kamera ramkasida sobit joylarni ko'rsatadigan ochiq manbadan foydalanganman.
1 -qadam: kerakli komponentlar
- Raspberry Pi
- vebkamera
yoki noutbukdan foydalanishingiz mumkin
2 -qadam: qaramlik
- Python 3
- noaniq kutubxona
- OpenCV kutubxonasi
$ sudo apt-get install python3-opencv
Ko'zlari bog'langan Rubiks to'plami
$ pip3 RubiksBlindfolded -ni o'rnating
3 -qadam: tayyorgarlik
Rangni aniqlashni dastlabki qadam sifatida sozlashingiz kerak. HSV rang kodlari yorug'lik, kamera sifati va piksellar soniga va kub ranglarining o'ziga qarab o'zgaradi. Mening vaziyatimda to'g'ri natijalarga erishish uchun oq va sariq chiroqlarni birlashtiraman.
Colordetection.py -da get_color_name (hsv) funktsiyasini yangilang
Asl manba kodi kubni echish uchun kociemba paketidan foydalanadi, u har qanday chalkashliklarning teskari qadamlarini topib hal qiladi. Ushbu versiyada men PyPI -da chop etilgan RubiksBlindfolded deb nomlangan o'zim hal qilish paketidan foydalandim. Rubiksni ko'r -ko'rona qanday ishlatishni bilish uchun tavsifga qarang
4 -qadam: Foydalanish
Barcha bog'liqliklar o'rnatilgandan va kamerangiz o'rnatilgandan so'ng, ko'r -ko'rona.py skriptini ishga tushirish vaqti keldi
Birinchidan, siz kubni to'g'ri yo'nalishda skanerlashingiz kerak. Bu kub tuzilishi, yuzlarni skanerlash tartibi muhim emas. E'tibor bering, bu kub yuzlarining standart ranglari, ularni ko'r -ko'rona.py skriptidagi yozuv lug'atini yangilash orqali o'zgartirish mumkin.
Skanerlash uchun bo'sh joy tugmachasini bosib, ko'rinishni saqlang va tugatgandan so'ng ESC tugmasini bosing
Ikkinchidan, siz konsolda echimlar ketma -ketligini ko'rishingiz mumkin va paritet algoritmini qo'llashingiz kerakmi yoki yo'qligini aytib beradi.
Uchinchidan, chekka ketma -ketligi va burchak ketma -ketligi uchun 2 chizilgan kubni ko'rsatadigan yangi ramka yaratiladi. Siz ketma -ketlik elementlarini almashtirish uchun chap va o'ng o'q tugmalaridan, chekka va burchak o'rtasida o'tish uchun esa yuqoriga va pastga o'q tugmalaridan foydalanishingiz mumkin. ochiq kul rang joriy ketma -ketlikni ifodalaydi.
Siz o'q tugmalari yordamida dinamik o'zgarayotgan joriy bufer ranglarini ko'rishingiz mumkin. Kulrang ranglar maqsadli kubikni, pushti rang esa almashinadigan yuzni ifodalaydi
Manba kodi
github.com/mn-banjar/blindfolded2