İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu, Rubik küp aracının gözleri bağlı olarak çözmek için yapılmış 2. versiyonudur. 1. versiyon javascript ile geliştirilmiştir, RubiksCubeBlindfolded1 projesini görebilirsiniz.
Bir öncekinden farklı olarak bu sürüm, renkleri algılamak ve girişleri girmek için OpenCV kütüphanesini kullanır ve daha iyi görselleştirme tekniği sağlar.
Bu en yeni sürümdeki en büyük sorun, çıktıların görselleştirilmesidir, sıra öğeleri bir kerede çizilen küp 1'de görüntülenir. Küp 3 boyutlu bir şekil olduğundan, tüm kenarları aynı anda görüntülemek zordur. Sonuçları YouTube kanalımdaki YouTube videosunda görün
Çıkartmasız bir küp kullanıyorum, bunun için özel bir tanıma gerekiyor ve çoğu açık kaynak kodu desteklenmiyor. Küp yüzlerinin doğru renklerini tespit etmek için kamera çerçevesindeki sabit alanları belirten Kim Koomen tarafından geliştirilen bu açık kaynağı kullandım qbr projesi
Adım 1: Gerekli Bileşenler
- Ahududu Pi
- web kamerası
veya dizüstü bilgisayarınızı kullanabilirsiniz
2. Adım: Bağımlılıklar
- piton 3
- numpy kitaplığı
- OpenCV kitaplığı
$ sudo apt-get kurulumu python3-opencv
RubiksGözleri bağlı paket
$ pip3 RubiksBlindfolded yükleyin
Adım 3: Hazırlıklar
Ön adım olarak renk algılamayı kalibre etmeniz gerekir. HSV renk kodları, aydınlatma, kamera kalitesi ve çözünürlüğü ve küp renklerinin kendisine bağlı olarak değişmektedir. Benim durumumda, doğru sonuçlar elde etmek için beyaz ve sarı ışıkları birleştiriyorum.
colordetection.py üzerinde get_color_name(hsv) işlevini güncelleyin
Orijinal kaynak kodu, küpü çözmek için kociemba paketini kullanır, herhangi bir karıştırmanın ters adımlarını bularak çözer. Bu sürümde, PyPI üzerinde yayınlanan RubiksBlindfolded adlı kendi çözüm paketimi kullandım. Nasıl kullanılacağını öğrenmek için açıklamaya bakın RubiksBlindfolded
4. Adım: Kullanım
Tüm bağımlılıkları yükledikten ve kameranızı ayarladıktan sonra, gözbağı.py betiğini çalıştırmanın zamanı geldi.
İlk olarak, küpünüzü doğru yönlerde taramanız gerekir. Bu küp yapısıdır, yüzleri tarama sırası önemli değildir. Bunların küp yüzlerinin varsayılan renkleri olduğuna dikkat edin, bunları gözbağı.py betiğindeki gösterim sözlüğünü güncelleyerek değiştirebilirsiniz.
Taramayı yapmak için görünümü kaydetmek için boşluk tuşuna ve bitirdikten sonra ESC tuşuna basın.
İkincisi, konsolda çözüm dizilerini ve eşlik algoritmasını uygulamanız gerekip gerekmediğini söyleyen eşlik kontrolünü görebilirsiniz.
Üçüncüsü, kenar sırası ve köşe sırası için 2 çizilmiş küp görüntüleyen yeni bir çerçeve oluşturulacaktır. Sıralama öğeleri arasında geçiş yapmak için sol ve sağ ok tuşlarını, kenar ve köşe arasında geçiş yapmak için yukarı ve aşağı ok tuşlarını kullanabilirsiniz. açık gri renk mevcut sırayı temsil eder.
Ok tuşları ile dinamik olarak değişen mevcut tamponun renklerini görebilirsiniz. Gri renkler hedef küpü, pembe renk ise değişen yüzü temsil eder.
Kaynak kodu
github.com/mn-banjar/blindfolded2