Mündəricat:
Video: Raspberry Pi və OpenCV istifadə edərək real vaxtda Rubik Cube Gözləri Bağlı Çözücü: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Bu, gözləri bağlı halda həll etmək üçün hazırlanmış Rubik kub alətinin 2 -ci versiyasıdır. 1 -ci versiya javascript tərəfindən hazırlanmışdır, RubiksCubeBlindfolded1 layihəsini görə bilərsiniz
Əvvəlki versiyadan fərqli olaraq, bu versiya rəngləri aşkar etmək və girişlərə daxil olmaq üçün OpenCV kitabxanasından istifadə edir və daha yaxşı görselleştirme texnikası təmin edir.
Bu yeni versiyada ən böyük problem, çıxışların görselleştirilmesidir, ardıcıllıq elementləri bir anda çəkilmiş kub 1 -də göstərilir. Küp 3D formalı olduğu üçün bütün tərəfləri eyni anda göstərmək çətindir. Nəticələri YouTube kanalımdakı YouTube videosunda görün
Etiketsiz bir kub istifadə edirəm, bunun xüsusi tanınması lazımdır və əksər açıq mənbə kodları dəstəklənmir. Kim qob layihəsinin kubların doğru rənglərini aşkar etmək üçün kamera çərçivəsindəki sabit sahələri təyin edən Kim Koomen tərəfindən hazırlanan bu açıq mənbədən istifadə etdim.
Addım 1: Lazım olan komponentlər
- Moruq Pi
- vebkamera
ya da dizüstü kompüterinizdən istifadə edə bilərsiniz
Addım 2: Asılılıqlar
- Python 3
- numpy kitabxana
- OpenCV kitabxanası
$ sudo apt-get install python3-opencv
Rubiks Gözləri bağlı paket
$ pip3 RubiksBlindfolded quraşdırın
Addım 3: Hazırlıqlar
Rəng algılamasını əvvəlcədən bir addım olaraq kalibr etməlisiniz. HSV rəng kodları işıqlandırma, kameranın keyfiyyəti və qətnaməsi və kub rənglərinin özündən asılı olaraq dəyişir. Mənim vəziyyətimdə düzgün nəticələr əldə etmək üçün ağ və sarı işıqları birləşdirirəm.
Colordetection.py -də get_color_name (hsv) funksiyasını yeniləyin
Orijinal mənbə kodu kubu həll etmək üçün kociemba paketindən istifadə edir, hər hansı bir qarışıqlığın tərs addımlarını taparaq həll edir. Bu versiyada, PyPI -də yayımlanan RubiksBlindfolded adlı öz həll paketimdən istifadə etdim. RubiksBlindfolded necə istifadə ediləcəyini bilmək üçün təsvirə baxın
Addım 4: İstifadə
Bütün asılılıqları qurduqdan və kameranızı qurduqdan sonra, blindfolded.py skriptini işə salmağın vaxtıdır
Əvvəlcə kubunuzu düzgün istiqamətlərdə taramalısınız. Bu kub quruluşudur, üzlərin taranma qaydası vacib deyil. Bunların kub üzlərinin standart rəngləri olduğuna diqqət yetirin, blindfolded.py skriptindəki qeyd lüğətini yeniləyərək onları dəyişə bilərsiniz.
Skan etmək üçün görünüşü saxlamaq üçün boşluq düyməsini və bitirdikdən sonra ESC düyməsini basın
İkincisi, konsoldakı həll ardıcıllığını və paritet alqoritmini tətbiq etməyinizə ehtiyac olub olmadığını söyləmək üçün paritet yoxlamasını görə bilərsiniz.
Üçüncüsü, kənar ardıcıllığı və künc ardıcıllığı üçün 2 çəkilmiş kubu göstərən yeni bir çərçivə yaradılacaq. Sıra elementləri arasında keçid üçün sol və sağ ox düymələrindən, kənar və künc arasında keçid üçün yuxarı və aşağı ox düymələrindən istifadə edə bilərsiniz. açıq boz rəng cari ardıcıllığı əks etdirir.
Ox düymələri ilə dinamik olaraq dəyişən cari buferin rənglərini görə bilərsiniz. Boz rənglər hədəf balasını, çəhrayı rəng isə dəyişdirmə üzünü təmsil edir
Mənbə kodu
github.com/mn-banjar/blindfolded2
Tövsiyə:
Real vaxtda su istiliyi, keçiricilik və su səviyyəsi ölçən: 6 addım (şəkillərlə)
Real Zamanlı Quyu Suyu İstiliyi, İletkenlik və Su Səviyyə Ölçmə Cihazı: Bu təlimatlar qazma quyularında temperaturun, Elektrik keçiriciliyinin (EC) və suyun səviyyəsini izləmək üçün aşağı qiymətli, real vaxt rejimində su sayğacının necə qurulacağını təsvir edir. Sayğac, qazılmış bir quyunun içərisində asmaq, suyun temperaturunu ölçmək, EC və
Postshirt: Real vaxtda geyilə bilən duruş algılama: 9 addım
Postshirt: Realtime Geyinilə bilən Duruş Algılama: Postshirt, Adafruit Lələkdən accelerometer məlumatlarını Bluetooth vasitəsilə bir Android tətbiqinə ötürən və təsnif edən real vaxt simsiz duruş aşkarlama sistemidir. İstifadəçinin pis duruşu və c
LightMeUp! Real vaxtda çapraz platformalı LED şeridi idarəetmə: 5 addım (şəkillərlə)
LightMeUp! real vaxt rejimində çapraz platformalı LED şeridi idarəetmə: LightMeUp! Qiyməti aşağı və performansını yüksək tutarkən, real vaxt rejimində bir RGB LED Şeridi idarə etmək üçün icad etdiyim bir sistemdir. Server Node.js-də yazılıb və buna görə də çap oluna bilər.Mənim nümunəmdə uzun müddətli istifadə üçün Raspberry Pi 3B istifadə edirəm
Real vaxtda Firebase ilə ESP01 Moodlight + OTA: 7 addım
ESP01 Moodlight, Firebase ilə Realtime + OTA: R-G-B rejimini və Fade effektini dəstəkləyir. Parlaqlıq nəzarətinə də dəstək var. OTA yeniləməsinə dəstək
Real vaxtda Smart Screen Data Viz üçün IoT Data Science PiNet: 4 addım
Real vaxt rejimində Smart Screen Data Viz üçün IoT Data Science PiNet: Data Science və ya hər hansı bir kəmiyyət sahəsində araşdırma səylərinizi artırmaq üçün məlumatların vizuallaşdırılması üçün ağıllı ekranların IoT şəbəkəsini asanlıqla birləşdirə bilərsiniz. &Quot; itələyin " sahənizdən müştərilərə birbaşa daxilinizdən