(x+1,y+1), (x-1,y-1), (x-1,y+1), (x+1,y-1)
Download
Report
Transcript (x+1,y+1), (x-1,y-1), (x-1,y+1), (x+1,y-1)
מבוא לתמונות ,ייצוגים וכמה
אלגוריתמים בסיסיים
אלכסנדר ברנגולץ
דואר אלקטרוני: [email protected]
מה זו תמונה בינארית?
נתבונן בתמונה:
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
2
סביבה ופעולות סביבתיות
שכנות בין הפיקסלים היא מונח חשוב בתיאור גבולות
העצמים וחלקי אזורים בתמונה.
סביבת :4-קבוצת שכנים פשוטה ביותר :עבור
פיקסל pבמקום (x,y),סביבת 4-כוללת 4
פיקסלים :השכנים האנכיים והאופקיים במקומות:
)(x+1,y), (x-1,y), (x,y+1), (x,y-1
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
3
סביבת8-
סביבת 8 :8-שכנים הקרובים ביותר לפיקסל מגדירים
סביבת 8שלו .אלה 4שכנים האלכסוניים
)(x+1,y+1), (x-1,y-1), (x-1,y+1), (x+1,y-1
בנוסף לנקודות בסביבת:4-
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
4
סביבת-m
סביבת -m:ניתן להגדיר גם סביבות גדולות יותר
ולפעמים ישנו להן שימוש .למשל סביבה:
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
5
סביבת-6
בתור דוגמא נוספת לסביבה נגדיר סביבת 6-כסביבת-
4יחד עם פיקסים:
)(x-1,y-1ו ) (x-1,y+1אם yזוגי
)(x+1,y+1ו ) (x+1,y-1אם yאי זוגי
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
6
קשירות)(Connectedness
מסלול 4-הינו מסלול שבו קיים בין שכנים לאורך
המסלול קשר בסביבה .4
מסלול 8-כנ”ל רק עם קשר חלש יותר -קשר 8
שתי נקודות Pו Qשייכות לאזור Sנקראותm-
קשירות אם ביניהם קיים מסלול -mהעובר באזור.
אם כל הנקודות באזור הן m-קשירות אזי אזור גם
נקרה m-קשיר.
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
7
דוגמאות מסלולים וקשירות
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
8
גבולות
גבול של אזור Sהינו אוסף
של נקודות של Sשיש להן
שכנים מחוץ לS.
כדי למנוע אי הבנות
נתיחס בתור שכנות
לשכנות .4-במקרה כזה
טענההוא גבול.4-
גבול
אם גבול הוא בעל שכנות 4-אז קו גבול הוא מסלול8-
:
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
9
קידוד מסלולים
ניתן קידוד לכל כיוון
האפשרי של המסלול.
למשל לסביבת 8-מספיקה
מילה באורך 3ביט.
1
2
0
8
3
5
7
6
נקדד את המסלול
0010000000000775555680
שמשמול:
00777555555522235677
5522222
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
10
קידוד תמונה (שורות ו)RLC
לצורך קידוד תמונה נקדד כל שורה לחוד .אם בתמונה ישנו
mצבעים אז נרשום לכל קטע צבע שלו ואורך .למשל:
b3r4g5b2, b3r4g5b2,b7g5b2
הקידוד הזה הוא חסכוני כאשר תמונה מורכבת מאזורים
גדולים בעלי גוון אחד.
במקרה של תמונה בינארית אין צורך בקידוד צבע
לפעמים משתמשים בשיטת קידוד ע”י נקודת התחלה ואורך
של האזור בצבע מסוים (למשל שחור))1,3(2, )2,0( 2 :
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
11
חלוקה לאזורים קשירים.
כדי לחלק תמונה לאזורים קשירים בעלי אותו גוון
נעבור על התמונה בסריקת rasterוניתן לכל
פיקסל ערך:
זהה לפיקסל משמול אם הוא בעל אותו גוון
אם פיקסל מלמעלה הוא בעל אותו גוון וערך
שונה שייך את הפיקסלים לאותה קבוצה.
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
12
קוד שרשרת)(Chain code
דרך אחרת לקדד תמונה מורכבת מאזורים בעלי גוונים
אחידים היא לקדד את גבולות האזורים
[Freeman,1961]:
פיקסל התחלה;
– מיקום של
– גוון (רמת אפר) של האזור;
– שורה של מילות קידוד של
הגבול.
למשל ,ניתן לקדד את כיווני
הגבול ב 3ביטים:
עיבוד תמונות ואותות במחשב
1
2
0
8
3
5
7
6
©א’ ברנגולץ
13
דוגמת קידוד שרשרת
נקודת התחלה)4,3( :
גוון: light blue
קידוד הגבול:
0000071006664435666...
נקודת התחלה)4,7( :
גוון: green
קידוד הגבול:
0006456642222
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
14
קביעת סדר על נקודות השפה
כדי לקודד ע”י קוד שרשרת צריך למצוא את נקודות
השפה ולקבוע את סדרן ,כך שיקבעו מסלול העוקף את
האזורים.
איך לעקוף את האזור שמצאנו את פנייתו:
– כלל מקומי לעקיפה :הליכה בשיטת “יד שמאל”:
• שמאלה:
• ישר:
• ימינה
• אחורה:
עיבוד תמונות ואותות במחשב
©א’ ברנגולץ
15
קידוד של תמונות עם כמה אזורים
שיטה פשוטה היא למצוא את האזורים הקשירים
ולקדד את הגבולות שלהם (כולל הגבולות
הפנימיים)
חסרון של השיטה הזאת שכל גבול צריך לקדד
פעמיים.
אלגוריתם חסכוני יותר משתמש בסימון מתוחכם
של הגבולות במהלך סריקת התמונה בסדר raster
כדי ליצור קוד שרשרת ללא כפילויות( וללא צורך
בחלוקה מוקדמת לאזורים קשירים) Gonzalez-
Wintz
275-287
במחשב
תמונות ואותות
עיבוד
©א’ ברנגולץ
16