תוכן עניינים:

קובץ קוביית רוביק בזמן אמת באמצעות פטל פי ו- OpenCV: 4 שלבים
קובץ קוביית רוביק בזמן אמת באמצעות פטל פי ו- OpenCV: 4 שלבים

וִידֵאוֹ: קובץ קוביית רוביק בזמן אמת באמצעות פטל פי ו- OpenCV: 4 שלבים

וִידֵאוֹ: קובץ קוביית רוביק בזמן אמת באמצעות פטל פי ו- OpenCV: 4 שלבים
וִידֵאוֹ: קוביה הונגרית ב10 שניות 2024, נוֹבֶמבֶּר
Anonim

זוהי הגרסה השנייה של כלי הקוביות של רוביק שנועדה לפתרון בעיניים עצומות. הגרסה הראשונה פותחה על ידי javascript, אתה יכול לראות את הפרויקט RubiksCubeBlindfolded1

שלא כמו הקודמת, גרסה זו משתמשת בספריית OpenCV כדי לזהות את הצבעים ולהזין את התשומות, ומספקת טכניקת ויזואליזציה טובה יותר.

הבעיה הגדולה ביותר בגרסה החדשה ביותר היא ויזואליזציה של תפוקות, פריטי הרצף מוצגים בכל פעם בקוביה 1 המצוירת. מכיוון שהקובייה היא בצורת תלת מימד, קשה להציג את כל הצדדים בו זמנית. ראה את התוצאות בערוץ היוטיוב שלי בסרטון יוטיוב

אני משתמש בקובייה ללא מדבקות, זה דורש זיהוי מותאם אישית ורוב הקודים הפתוחים אינם נתמכים. השתמשתי בקוד פתוח זה שפותח על ידי קים קומן המציין אזורים קבועים במסגרת המצלמה כדי לזהות את הצבעים הנכונים של פרויקט qbr

שלב 1: דרושים רכיבים

  • פאי פטל
  • מצלמת אינטרנט

או שאתה יכול להשתמש במחשב הנייד שלך

שלב 2: תלות

  • פייתון 3
  • ספרייה ערמומית
  • ספריית OpenCV

$ sudo apt-get להתקין python3-opencv

חבילה מקופלת

$ pip3 להתקין את RubiksBlindfolded

שלב 3: הכנות

עליך לכייל את זיהוי הצבעים כשלב מקדים. קודי הצבעים של HSV משתנים בשל התאורה, איכות המצלמה והרזולוציה וצבעי הקובייה עצמה. במקרה שלי, אני משלב אורות לבנים וצהובים כדי לקבל תוצאות נכונות.

עדכן את הפונקציה get_color_name (hsv) ב- colordetection.py

קוד המקור המקורי משתמש בחבילת kociemba כדי לפתור את הקובייה, הוא פותר על ידי מציאת השלבים ההפוכים של כל ערבוב. בגרסה זו השתמשתי בחבילת פתרון משלי בשם RubiksBlindfolded שפורסמה ב- PyPI. עיין בתיאור כדי לדעת כיצד להשתמש בו RubiksBlindfolded

שלב 4: שימוש

נוֹהָג
נוֹהָג
נוֹהָג
נוֹהָג

לאחר התקנת כל התלות והגדרת המצלמה שלך, זה הזמן להריץ סקריפט עם עיניים

ראשית, עליך לסרוק את הקובייה שלך בכיוון הנכון. זהו מבנה הקוביה, סדר סריקת הפנים אינו חשוב. שים לב שאלו הם צבעי ברירת המחדל של פני הקוביה, תוכל לשנות אותם על ידי עדכון מילון הסימונים בתסריט blindfolded.py

כדי לבצע את הסריקה הקש על מקש רווח כדי לשמור את התצוגה ואת מקש ESC לאחר סיום

שנית, אתה יכול לראות את רצפי הפתרונות במסוף, ואת בדיקת השוויון כדי להגיד לך אם עליך ליישם את אלגוריתם השוויון או לא

שלישית, תיווצר מסגרת חדשה המציגה 2 קוביות מצוירות עבור רצף קצוות ורצף פינות. ניתן להשתמש במקשי החצים שמאלה וימינה למעבר בין פריטי הרצף ובמקשי החצים למעלה ולמטה למעבר בין הקצה לפינה. הצבע האפור הבהיר מייצג את הרצף הנוכחי.

אתה יכול לראות את הצבעים של המאגר הנוכחי שמשתנים באופן דינמי באמצעות מקשי החצים. צבעים אפורים מייצגים את קוביית המטרה, וצבע ורוד מייצג את הפנים ההחלפות

קוד מקור

github.com/mn-banjar/blindfolded2

מוּמלָץ: