Съдържание:
Видео: Ръководител на кубика на Рубик със затворени очи в реално време, използващ Raspberry Pi и OpenCV: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Това е втората версия на кубическия инструмент на Рубик, направен за решаване на завързани очи. Първата версия е разработена от javascript, можете да видите проекта RubiksCubeBlindfolded1
За разлика от предишната, тази версия използва OpenCV библиотека за откриване на цветовете и въвеждане на входовете и осигурява по -добра техника за визуализация.
Най -големият проблем в тази най -нова версия е визуализацията на изходите, елементите от последователността се показват на изтегления куб 1 наведнъж. Тъй като кубът е 3D форма, е трудно да се покажат всички страни едновременно. Вижте резултатите на видеоклипа ми в YouTube в YouTube
Използвам куб без стикери, това се нуждае от персонализирано разпознаване и повечето кодове с отворен код не се поддържат. Използвах този отворен код, разработен от Ким Кумен, който определя фиксирани области на рамката на камерата, за да открие правилните цветове на кубните лица qbr проект
Стъпка 1: Необходими компоненти
- Малина Пи
- уебкамера
или можете да използвате вашия лаптоп
Стъпка 2: Зависимости
- Python 3
- numpy библиотека
- Библиотека на OpenCV
$ sudo apt-get инсталирайте python3-opencv
Рубикс Пакет със завързани очи
$ pip3 инсталирайте RubiksBlindfolded
Стъпка 3: Подготовка
Трябва да калибрирате разпознаването на цветовете като предварителна стъпка. Цветовите кодове на HSV варират поради осветлението, качеството на камерата и разделителната способност и самите цветове на куба. В моя случай комбинирам бели и жълти светлини, за да получа правилни резултати.
Актуализирайте функцията get_color_name (hsv) на colordetection.py
Оригиналният изходен код използва пакета kociemba за решаване на куба, той решава чрез намиране на обратните стъпки на всяко кодиране. В тази версия използвах собствен пакет за решаване на име RubiksBlindfolded, публикуван на PyPI. Вижте описанието, за да знаете как да го използвате Rubiks със завързани очи
Стъпка 4: Използване
След като инсталирате всички зависимости и настроите камерата си, това е моментът да стартирате скрипта blindfolded.py
Първо, трябва да сканирате куба си в правилната ориентация. Това е структурата на куба, редът на сканиране на лицата не е важен. Забележете, че това са цветовете по подразбиране на кубчетата, можете да ги промените, като актуализирате речника на нотациите в скрипта blindfolded.py
За да направите сканирането, натиснете клавиша за интервал, за да запазите изгледа и клавиша ESC след приключване
Второ, можете да видите последователностите от решения на конзолата и проверката на паритета, за да ви каже дали трябва да приложите алгоритъма за паритет или не
Трето, ще бъде генериран нов кадър, който показва 2 начертани куба за последователността на ръбовете и ъгловата последователност. Можете да използвате клавишите със стрелки наляво и надясно за превключване между елементите от последователността и клавишите със стрелки нагоре и надолу за превключване между ръба и ъгъла. светлосивият цвят представлява текущата последователност.
Можете да видите цветовете на текущия буфер, които се променят динамично чрез клавишите със стрелки. Сивите цветове представляват целевата куба, а розовият цвят представлява лицето за смяна
Програмен код
github.com/mn-banjar/blindfolded2
Препоръчано:
Измервател на нивото на водата в кладенец в реално време: 6 стъпки (със снимки)
Измервател на нивото на водата в кладенец в реално време: Тези инструкции описват как да се изгради евтин водомер в реално време за използване в изкопани кладенци. Измервателят на нивото на водата е проектиран да виси в изкопан кладенец, да измерва нивото на водата веднъж на ден и да изпраща данните чрез WiFi или клетъчна връзка
Измервател на температурата на водата, проводимостта и нивото на водата в кладенец в реално време: 6 стъпки (със снимки)
Измервател на температурата на водата, проводимостта и нивото на водата в кладенец в реално време: Тези инструкции описват как да се изгради евтин водомер в реално време за мониторинг на температурата, електропроводимостта (EC) и нивата на водата в изкопани кладенци. Уредът е проектиран да виси в изкопан кладенец, да измерва температурата на водата, EC и
Q -Bot - решавачът на кубика на Рубик с отворен код: 7 стъпки (със снимки)
Q -Bot - Решавачът на кубчетата на Рубик с отворен код: Представете си, че имате кодиран куб на Рубик, знаете, че този пъзел от 80 -те, който всеки има, но никой не знае как да го реши, и вие искате да го върнете в първоначалния му модел. За щастие в наши дни е много лесно да се намери инструкция за решаване
Програма MicroPython: Актуализиране на данните за коронавирусната болест (COVID-19) в реално време: 10 стъпки (със снимки)
Програма MicroPython: Актуализиране на данните за коронавирусната болест (COVID-19) в реално време: През последните няколко седмици броят на потвърдените случаи на коронавирусна болест (COVID 19) в световен мащаб надхвърли 100 000, а Световната здравна организация (СЗО) обяви новата епидемия от коронавирус пневмония ще бъде глобална пандемия. Аз бях много
Часовник, базиран на Arduino, използващ модул за часовник в реално време (RTC) DS1307 и 0,96: 5 стъпки
Часовник, базиран на Arduino, използващ модул DS1307 Часовник в реално време (RTC) & 0.96: Здравейте момчета, в този урок ще видим как да направим работещ часовник с помощта на модул за часовник в реално време DS1307 & OLED дисплеи. Така че ще четем времето от часовника DS1307. И го отпечатайте на OLED екрана