ראשי חלון וירטואלי
חלון וירטואלי: עיבוד תמונה, מצלמות רשת ומנועי סרוו

 חלון וירטואלי

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

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

חלון ווירטואלי
לא חלון רגיל - מסכי מחשב :)
 
איך זה אמור לעבוד? ישנם שלושה חלקים עיקריים:
  1. מציאת מיקום הצופה, ומרחקו מהחלון
  2. שליחת הנתונים למצלמה נעה שנמצאת מחוץ לבית, ומהווה את תוכן החלון
  3. שינוי תוכן החלון בהתאם למיקום הצופה
נשמע פשוט? אז זהו, שלא כל כך.

מציאת מיקום הצופה

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

השיטה הראשונה - Head Tracking (מעקב מיקום ראש) באמצעות עיבוד תמונה

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

 

 

התמונה המקורית מהמצלמה

התמונה המקורית מהמצלמה

 

 

התמונה לאחר מעבר לגווני אפור, ווהעברת פילטרי פיקסלציה

התמונה אחרי המרה לגווני אפור והרצת פילטרי Erosion ופיקסלציה

 

ההפרש בין התמונה הנוכחית לקודמת

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

 

פילטר סף

 הרצה של פילטר סף (Threshold) על התמונה הקודמת מראה את האיזורים שהשתנו

 

Edge Detection

 מציאת קצוות האיזורים שהשתנו. ניתן ממש לראות איזורים סגורים של שינוי.

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

Head Tracking

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

 

 (אני אשתדל להעלות סרטון של הכל ביחד, זה נראה הרבה יותר שווה Live :)

 

השיטה השנייה - איכון (טרינגולציה) של לדים אינפרה-אדומים ע"י מצלמה עם פילטר אינפרה-אדום

משקפיים עם לדים אינפרה אדומים

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

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

 

 

 

השיטה השלישית - שימוש בשלט WII

 

 



Add this page to your favorite Social Bookmarking websites
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! TwitThis Joomla Free PHP


תגובות
הוסף תגובה
אורח  - אשמח מאוד אם תוסיף את הקוד שרשמת לעיבוד התמונה.   |2008-10-28 07:39:58
וחשבתי שתבנה הכל ללא עזרת מחשב אלא עם מיקרו בקר בלבד :O
הוסף תגובה
שם:
דואל:
 
כותרת:

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."

עדכון אחרון: חמישי, 28 מאי 2009 03:41
 

תיוג אוטומטי

תמונות של שרשרת שמות לפייסבוק - תמונת תיוג לפייסבוק - תיוגים בתמונה - תיוג לפייסבוק - בקר לחלון - תמונה תיוגים - תמונות תיוג לפייסבוק - תמונת תיוגים לפייסבוק - עיבוד תמונה ב c - תמונות לפייסבוק תיוגים - תמונות של תיוגים לפייסבוק - יתרונות עיבוד תמונות - תיוגים לפייסבוק - קוד עיבוד תמונה - תיוגים תמונות - שיטות למציאת פנים בתמונה - תיוגים לפייסבוק עם הקוד - מסנן אינפרא אדום - תיוגים למצלמה - סרוואים תמונות

כתבות קשורות