התמרות אפיניות על תמונות
רז נוסק ,כל הזכויות שמורות ©
1
מהן טרנספורמציות גיאומטריות?
zטרנספורמציות ליניאריות.
zפועלות על הקואורדינאטות של הפיקסלים.
zלא תלויות בצבעים בתמונה.
zכוללות סיבובים ,הזזות ,הגדלות ועיוותים.
רז נוסק ,כל הזכויות שמורות ©
2
מדוע מבצעים התמרות גיאומטריות?
zרגיסטרציה בין תמונות.
zיישור תמונות אלכסוניות.
zתיקון עיוותים בתמונה.
zהצפנת מפות ) סיבובים (.
zשינויי ZOOMלהבחנה בפרטים קטנים.
רז נוסק ,כל הזכויות שמורות ©
3
ואם כבר גיאומטרי אז למה ליניארי?
zקווים ישרים נשארים ישרים
zשימור יחסי אורכים/שטחים בתמונה
zהתמונה המתקבלת עדיין "טבעית"
Æזה היה פעם לוח שחמט Å
רז נוסק ,כל הזכויות שמורות ©
4
דוגמא לטרנספורמציה ליניארית
zהגדלה פי 1.5ושיקוף:
רז נוסק ,כל הזכויות שמורות ©
⎤ ⎛ − 1.5 0 ⎞ ⎡ x ⎤ ⎡− 1.5 x
⎢ = ⎥ ⎢ ⎟⎟
⎜⎜
⎥
0
1
.
5
y
1
.
5
y
⎦
⎣ ⎦ ⎣⎠
⎝
5
ומה עם הזזה?
zהזזה היא פעולה לא ליניארית כי היא משנה את מיקום
ראשית הצירים.
⎤ a ⎞ ⎡0
0
⎤ ⎡
⎥ ⎢ = ⎥ ⎢ ⎟⎟
⎦ a 22 ⎠ ⎣0 ⎦ ⎣0
12
⎛ a11
⎜⎜
⎝ a 21
zהפתרון :קואורדינאטות הומוגניות
⎤⎡x
⎥⎢ y
⎥ ⎢
⎦⎥ ⎢⎣ 1
רז נוסק ,כל הזכויות שמורות ©
⎤⎡x
⎥⎢ y
⎦ ⎣
6
ומה עם הזזה?
zוהזזה פשוט מבוטאת על ידי
רז נוסק ,כל הזכויות שמורות ©
⎤ d x ⎞⎡ x ⎤ ⎡ x + d x
⎢ ⎥ ⎢⎟
⎥⎥ d y ⎟ ⎢ y ⎥ = ⎢ y + d y
⎦⎥ 1 ⎟⎠ ⎢⎣ 1 ⎥⎦ ⎢⎣ 1
⎛1 0
⎜
⎜0 1
⎜0 0
⎝
7
טרנספורמציה אפינית
zמקרה פרטי של התמרה גיאומטרית ליניארית
zמיוצגת על ידי מטריצה 3x3
zאיננה מאפשרת ליצור עיוות פרספקטיבה
zלפני ההגדרה המתמטית המדויקת נראה ממה היא מורכבת
על ידי מספר דוגמאות
רז נוסק ,כל הזכויות שמורות ©
8
טרנספורמציית היחידה
zהתמונה נשארת זהה.
zכל התכונות של התמונה נשמרות.
zיש אפס דרגות חופש.
רז נוסק ,כל הזכויות שמורות ©
⎤ ⎛ 1 0 0 ⎞⎡ x ⎤ ⎡ x
⎥ ⎢ ⎥ ⎢⎟
⎜
⎥ ⎜ 0 1 0 ⎟⎢ y ⎥ = ⎢ y
⎥ ⎜ 0 0 1 ⎟⎢1 ⎥ ⎢1
⎦ ⎣ ⎦ ⎣⎠
⎝
9
הזזה
zהתמונה נשארת זהה חוץ ממיקום הראשית.
zכל התכונות של נשמרות ) אורכים ,שטחים זוויות (.
zיש שתי דרגות חופש.
⎤ d x ⎞⎡ x ⎤ ⎡ x + d x
⎢ ⎥ ⎢⎟
⎥⎥ d y ⎟ ⎢ y ⎥ = ⎢ y + d y
⎦⎥ 1 ⎟⎠ ⎢⎣ 1 ⎥⎦ ⎢⎣ 1
רז נוסק ,כל הזכויות שמורות ©
⎛1 0
⎜
⎜0 1
⎜0 0
⎝
10
טרנספורמציה קשיחה -סיבוב והזזה
zכל התכונות של נשמרות
) אורכים ,שטחים זוויות (.
zיש שלוש דרגות חופש.
רז נוסק ,כל הזכויות שמורות ©
⎞ dx
⎟
⎟ dy
⎠⎟ 1
) − sin(α
) cos(α
0
) ⎛ cos(α
⎜
) ⎜ sin(α
⎜ 0
⎝
11
איזומטריה – סיבוב ,הזזה ושיקוף
zכל התכונות של נשמרות
) אורכים ,שטחים זוויות (.
zיש שלוש ו"חצי" דרגות חופש.
רז נוסק ,כל הזכויות שמורות ©
⎞ dx
⎟
⎟ dy
⎠⎟ 1
) − sin(α
) cos(α
0
) ⎛ ε cos(α
⎜
) ⎜ ε sin(α
⎜
0
⎝
12
טרנספורמציה דמיון
zיחסי אורכים נשמרים,
יחסי שטחים ,זוויות (.
zיש ארבע דרגות חופש.
רז נוסק ,כל הזכויות שמורות ©
⎞ dx
⎟
⎟ dy
⎠⎟ 1
) − z sin(α
) z cos(α
0
) ⎛ z cos(α
⎜
) ⎜ z sin(α
⎜
0
⎝
13
הגדלה לא איזוטרופית
zיחסי שטחים נשמרים ,יחסי
אורכים בכל כיוון ,מקבילות.
⎞ ⎛ 1 .5 0 0
⎜
⎟
⎟ ⎜ 0 0 .5 0
⎜ 0
⎠⎟ 0 1
⎝
zיש שתי דרגות חופש.
רז נוסק ,כל הזכויות שמורות ©
14
טרנס' לא אורתגונליות )(Skew
zיחסי שטחים ,מקבילות ,יחס בין
אורכים
⎞⎛1 1 0
⎟
⎜
⎟⎜ 0 1 0
⎟⎜0 0 1
⎠
⎝
zיש ארבע דרגות חופש.
רז נוסק ,כל הזכויות שמורות ©
15
טרנספורמציה אפינית
zיש שש דרגות חופש
zהגדרה:
טרנספורמציה בה השורה
התחתונה היא ,0 0 1
ו Aהיא מטריצה הפיכה
zהשורה האחרונה דואגת שלא
תהיה פרספקטיבה
רז נוסק ,כל הזכויות שמורות ©
⎞ dx
⎟
⎟ dy
⎠⎟ 1
⎞
⎟⎟
⎠
a 12
a 22
a12
a 22
0
⎛ a11
⎜
⎜ a 21
⎜ 0
⎝
⎛ a 11
⎜⎜ = A
⎝ a 21
16
טרנספורמציה אפינית
zקווים מקבילים נשארים
מקבילים ,יחסי שטחים
נשמרים וגם יחסי אורכים בין
קווים מקבילים
zמה ההגיון מאחורי ששת דרגות
החופש?
רז נוסק ,כל הזכויות שמורות ©
17
דוגמא – טרנס' אפינית
zהדגמת ,LenaKot
פרמטרים
בניית סיבוב על ידי skew
רז נוסק ,כל הזכויות שמורות ©
18
הרכבת טרנספורמציות
zהגדלה כפולה:
⎤ ⎛ 2 0 0 ⎞ ⎛ 3 0 0 ⎞⎡ x ⎤ ⎛ 6 0 0 ⎞⎡ x
⎥ ⎢⎟
⎜
⎜ ⎟
⎜ ⎥ ⎢⎟
⎥ ⎜ 0 2 0 ⎟ • ⎜ 0 3 0 ⎟⎢ y ⎥ = ⎜ 0 6 0 ⎟⎢ y
⎥ ⎜ 0 0 1 ⎟ ⎜ 0 0 1 ⎟⎢1 ⎥ ⎜ 0 0 1 ⎟⎢1
⎦ ⎣⎠
⎝
⎝ ⎠
⎝ ⎦ ⎣⎠
zהזזה כפולה:
⎤ 2 px + d x ⎞⎡ x
⎥ ⎢⎟
⎥ 2 p y + d y ⎟⎢ y
⎥ ⎟⎢1
1
⎦ ⎣⎠
px ⎞⎡ x ⎤ ⎛ 2 0
⎜ ⎥ ⎢⎟
p y ⎟⎢ y ⎥ = ⎜ 0 2
1 ⎟⎠ ⎢⎣ 1 ⎥⎦ ⎜⎝ 0 0
dx ⎞ ⎛1 0
⎜ ⎟
dy ⎟•⎜0 1
1 ⎟⎠ ⎜⎝ 0 0
⎛2 0
⎜
⎜0 2
⎜0 0
⎝
zנשים לב שההרכבה היא שמאלית!
רז נוסק ,כל הזכויות שמורות ©
19
פירוק האפיניות
zהטרנספורמציה מסתכמת
בהפעלת Aולאחר מכן הזזה
ב.d-
zכאשר Aהיא
רז נוסק ,כל הזכויות שמורות ©
⎞ dx
⎟
⎟ dy
⎠⎟ 1
⎞
) ⎟⎟ = R (ϕ ) ⋅ R ( − θ ) ⋅ Z ⋅ R (θ
⎠
A
a12
a22
0
a 12
a 22
⎛ a11
⎜
⎜ a21
⎜ 0
⎝
⎛ a 11
⎜⎜
⎝ a 21
20
פירוק האפיניות
⎛ a11
⎜⎜
⎝ a 21
a12 ⎞ ⎛ cos(ϕ )
⎟⎟ = ⎜⎜
a 22 ⎠ ⎝ sin(ϕ )
⎛ cos( −θ )
⎜⎜
⎝ sin( −θ )
− sin(ϕ ) ⎞
⎟⎟ •
cos(ϕ ) ⎠
− sin( −θ ) ⎞⎛ Z x 0 ⎞⎛ cos(θ )
⎟⎜⎜
⎟⎟⎜⎜
cos( −θ ) ⎠⎝ 0 Z y ⎟⎠⎝ sin(θ )
היאA כאשרz
− sin(θ ) ⎞
⎟⎟
cos(θ ) ⎠
: דוגמאz
A
21
© כל הזכויות שמורות,רז נוסק
פירוק האפיניות
A
zלפי הפירוק
) R(θ
Z
רז נוסק ,כל הזכויות שמורות ©
22
פירוק האפיניות
A
zלפי הפירוק
) R (−θ
) R(ϕ
רז נוסק ,כל הזכויות שמורות ©
23
פירוק האפיניות
zהגדרה נוספת לאפיניות:
ביצוע מתיחה לא אחידה בכיוונים ניצבים ,לאחר מכן סיבוב
והזזה.
zשש דרגות החופש הן:
– 1זווית צירי המתיחה.
– 1סיבוב.
– 2הזזה בצירים Xו.Y-
רז נוסק ,כל הזכויות שמורות ©
– 2מתיחה לא אחידה.
24
תכונות נוספות של האפיניות
zשטח הצורות בתמונה גדל פי:
⎞ a12
⎟⎟ = Z x ⋅ Z y
⎠ a 22
⎞ dx
⎟
⎟ dy
⎠⎟ 1
רז נוסק ,כל הזכויות שמורות ©
⎛ a11
⎜⎜ det
⎝ a 21
a12
a22
0
⎛ a11
⎜
⎜ a21
⎜ 0
⎝
25
תכונות נוספות של האפיניות
zאינווריאנטיות
תחת הרכבה:
⎞* * * ⎛ ⎞* * * ⎛ ⎞* * * ⎛
⎜
⎜ ⎟
⎜ ⎟
⎟
⎟* * * ⎜ = ⎟* * * ⎜ • ⎟* * * ⎜
⎟⎜ 0 0 1⎟ ⎜ 0 0 1⎟ ⎜ 0 0 1
⎝
⎝ ⎠
⎝ ⎠
⎠
⎞7
⎟
⎟ 21 11
⎠⎟ 0 1
25
רז נוסק ,כל הזכויות שמורות ©
1⎞ ⎛ 5
⎜ ⎟
0 ⎟ = ⎜ 15
1 ⎟⎠ ⎜⎝ 0
7
9
0
6⎞ ⎛5
⎜ ⎟
8⎟ • ⎜0
1 ⎟⎠ ⎜⎝ 0
2
0
0
⎛1
⎜
⎜3
⎜0
⎝
26
Matlab מימוש ב
T = maketform('affine',[-0.4 -0.8 20;
0.7 0.1 10;
0
0 1]');
im = imread(‘im.jpg');
res = imtransform(im,T);
27
© כל הזכויות שמורות,רז נוסק
Matlab פירוק האפיניות ב
T = [ 1 2 3; 4 5 6; 0 0 1];
dXY = T(1:2,3);
[u s v] = svd(T(1:2,1:2));
Rφ = u*v’;
Rθ = v’;
Z = s;
:הסבר
A = U ⋅ S ⋅ V T = (U ⋅ V T ) ⋅ V ⋅ S ⋅ V T
28
© כל הזכויות שמורות,רז נוסק
איך הטרנספורמציה מתבצעת בפועל
zבמיפוי רגיל נוצרת בעיה
חמורה.
? ?
?
? ?
T
?
רז נוסק ,כל הזכויות שמורות ©
29
איך הטרנספורמציה מתבצעת בפועל
zרואים בברור את המחסור
במידע.
רז נוסק ,כל הזכויות שמורות ©
30
איך הטרנספורמציה מתבצעת בפועל
zפתרון:
חישוב הטרנספורמציה הפוכה ) .T-1איך? (
הפעלת T-1על תמונת היעד ) .מדוע T-1אפינית? (
קבלת פיקסל תואם בתמונה המקורית.
אם הקואורדינאטות לא שלמות אז מתבצעת אינטרפולציה
כלשהי.
רז נוסק ,כל הזכויות שמורות ©
31
איך הטרנספורמציה מתבצעת בפועל
zפתרון נקרא .Back Projection
T-1
T-1
רז נוסק ,כל הזכויות שמורות ©
32
שאלות?
רז נוסק ,כל הזכויות שמורות ©
33
טרנספורמציה
פרוייקטיבית
רז נוסק ,כל הזכויות שמורות ©
34
מבוא לפרספקטיבה
zמה זאת פרספקטיבה?
zב 3D-ככל שמתקדמים לעומק ,כך האובייקטים קטנים
zקטנים – היטל במישור רשתית העין ) (X,Yקטן
zעקב דימיון משולשים
רז נוסק ,כל הזכויות שמורות ©
35
מבוא לפרספקטיבה
עין
zגודל אובייקט נראה:
θ
W
) W ' = ∝ tan(θ
Z
zנדרש לחלק בעומק
רז נוסק ,כל הזכויות שמורות ©
רוחב
עומק
W
Z
רוחב
36
מבוא לפרספקטיבה
zגרפיקה ממוחשבת לא מציאותית חודרת לחיינו
zגם תמונה ללא
פרספקטיבה נראת
תקינה
zבעולם הטבעי
תמיד יש פרספקטיבה
רז נוסק ,כל הזכויות שמורות ©
37
מבוא לפרספקטיבה
zבדו מימד ,קו העומק מוטל על מישור X,Y
zנקודת העלמות
יחידה
רז נוסק ,כל הזכויות שמורות ©
38
מבוא לפרספקטיבה
zבדו מימד ,קו העומק מוטל על מישור X,Y
zהתקדמות בכיוון זה – מקטינה את האובייקטים
רז נוסק ,כל הזכויות שמורות ©
39
מבוא לפרספקטיבה
zככל ש Xגדל כך הגובה קטן
zככל ש Y-גדל כך הרוחב קטן
zהצירים מדמים את העומק
רז נוסק ,כל הזכויות שמורות ©
40
מבוא לפרספקטיבה
zבטרנספורמציה פרספקטיבית נחלק בערכי XוY-
zקואורדינטות מוכללות
zפעולה אפינית
רז נוסק ,כל הזכויות שמורות ©
⎤⎡x
⎥⎢y
⎥ ⎢
⎦⎥ ⎢⎣ 1
⎤ c ⎞ ⎡ x ⎤ ⎡ ax + by + c
⎢ ⎥ ⎢⎟
⎥⎥ f ⎟ ⎢ y ⎥ = ⎢dx + ey + f
⎦⎥
⎣⎢ ⎦⎥ 1 ⎟⎠ ⎢⎣ 1
1
⎤⎡x
⎥⎢y
⎦ ⎣
⎛a b
⎜
⎜d e
⎜0 0
⎝
41
מבוא לפרספקטיבה
zהפעלת טרנספ'
⎤'c ⎞ ⎡ x ⎤ ⎡ ax + by + c ⎤ ⎡ x
⎢ ⎥ ⎢⎟
⎥⎥' f ⎟ ⎢ y ⎥ = ⎢dx + ey + f ⎥⎥ = ⎢⎢ y
⎦⎥ ' 1 ⎟⎠ ⎢⎣ 1 ⎥⎦ ⎢⎣ gx + hy + 1 ⎥⎦ ⎢⎣ z
⎛a
⎜
⎜d
⎜g
⎝
b
e
h
zעל מנת לקבל חזרה 1במימד ’ ,Zנחלק ב:Z’-
⎤ ax + by + c
⎡
x
'
⎤ ⎡
⎥⎥ ⎢ y '⎥ ⇒ ⎡ x'⎤ = ⎢⎢ gx + hy + 1
⎥ ⎢ ⎥ ⎢ y '⎥ ⎢ dx + ey + f
⎢ ⎦ ⎣ ⎦⎥ ' ⎢⎣ z
⎦⎥ ⎣ gx + hy + 1
רז נוסק ,כל הזכויות שמורות ©
42
מבוא לפרספקטיבה
zחזרה לקואורדינטות הומוגניות:
– Z1מישור הומוגני
– Z2מישור הטרנספורמציה
– Vוקטור התוצאה
’ – Vוקטור מנורמל ל 2D
רז נוסק ,כל הזכויות שמורות ©
43
טרנ' פרוייקטיבית
zפרספקטיבה בציר :X
⎛ 1 0 0 ⎞⎡ x ⎤ ⎡ x ⎤ ⎡ x
⎤
⎢ ⎥ ⎢⎟
⎜
⎥gx + 1
⎥
⎢
⎜ 0 1 0 ⎟⎢ y ⎥ = ⎢ y ⎥ ⇒ ⎢ y
⎥
⎥⎜ g 0 1 ⎟ ⎢ 1 ⎥ ⎢ gx + 1⎥ ⎢ gx + 1
⎦
⎣ ⎦
⎣ ⎦ ⎣⎠
⎝
רז נוסק ,כל הזכויות שמורות ©
44
טרנ' פרוייקטיבית
zפרספקטיבה בציר :X
רז נוסק ,כל הזכויות שמורות ©
45
טרנ' פרוייקטיבית
zפרספקטיבה בציר :Y
⎛ 1 0 0 ⎞⎡ x ⎤ ⎡ x ⎤ ⎡ x
⎤
⎢ ⎥ ⎢⎟
⎜
⎥hy + 1
⎥
⎢
⎜ 0 1 0 ⎟⎢ y ⎥ = ⎢ y ⎥ ⇒ ⎢ y
⎥
⎥⎜ 0 h 1 ⎟ ⎢ 1 ⎥ ⎢hy + 1⎥ ⎢ hy + 1
⎦
⎣ ⎦
⎣ ⎦ ⎣⎠
⎝
רז נוסק ,כל הזכויות שמורות ©
46
טרנ' פרוייקטיבית
zפרספקטיבה בציר :Y
רז נוסק ,כל הזכויות שמורות ©
47
פיצוי שגיאת הקטנה
zפרספקטיבה נאיבית יוצרת שגיאה בגודל התמונה:
⎡ ⎤ 0 0 ⎞⎡ x
x
⎤
⎛ 1
⎢ ⎥ ⎢⎟
⎜
⎥
=
0
1
0
y
y
⎢ ⎥ ⎢⎟
⎜
⎥
⎥⎜ 0.2 0.3 1 ⎟ ⎢ 1 ⎥ ⎢0.2 x + 0.3 y + 1
⎦
⎣ ⎦ ⎣⎠
⎝
zגודל התמונה יקטן פי
0.2 x + 0.3 y + 1
zאם גודל התמונה הוא 300x300פיקסלים התמונה תקטן פי
!150תוצאה 2x2 :פיקסלים:
רז נוסק ,כל הזכויות שמורות ©
48
פיצוי שגיאת הקטנה
zפרספקטיבה נאיבית יוצרת שגיאה בגודל התמונה:
zמתי גודל התמונה ישמר?
רז נוסק ,כל הזכויות שמורות ©
49
פיצוי שגיאת הקטנה
zמתי גודל התמונה ישמר?
zכאשר פינות האלכסון המשני נשמרות
רז נוסק ,כל הזכויות שמורות ©
50
פיצוי שגיאת הקטנה
zפינות האלכסון המשני הם וקטורים עצמיים של התמרה
⎤ ⎡ 0
⎥ ⎢ sizeY
⎢
⎥
⎦⎥ ⎢⎣ 1
⎤ ⎡ sizeX
⎥ ⎢ 0
⎢
⎥
⎦⎥ ⎢⎣ 1
⎟⎞ 0
⎟0
⎟
⎟1
⎠
0
1 + pY
pY
sizeY
⎛ 1 + pX
⎜
⎜
0
⎜ pX
⎜
sizeX
⎝
פרספקטיבהpX, pY :
גודל תמונהsizeX, sizeY :
רז נוסק ,כל הזכויות שמורות ©
51
פיצוי שגיאת הקטנה
: הוכחהz
⎛ 1 + pX
⎜
⎜
0
⎜ pX
⎜
sizeX
⎝
⎛ 1 + pX
⎜
⎜
0
⎜ pX
⎜
sizeX
⎝
52
0
1 + pY
pY
sizeY
0
1 + pY
pY
sizeY
0 ⎞⎟ ⎡ sizeX ⎤ ⎡ sizeX (1 + pX )⎤ ⎡ sizeX ⎤
⎥=⎢ 0 ⎥
0
0 ⎟ ⎢⎢ 0 ⎥⎥ = ⎢⎢
⎥ ⎢
⎥
⎟
pX + 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
1 ⎟ ⎢⎣ 1 ⎥⎦ ⎢⎣
⎠
0 ⎞⎟ ⎡ 0 ⎤ ⎡
0
⎤ ⎡ 0 ⎤
0 ⎟ ⎢⎢ sizeY ⎥⎥ = ⎢⎢ sizeY (1 + pY )⎥⎥ = ⎢⎢ sizeY ⎥⎥
⎟
pY + 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
1 ⎟ ⎢⎣ 1 ⎥⎦ ⎢⎣
⎠
© כל הזכויות שמורות,רז נוסק
פרספקטיבה חזקה
zערכי פרספקטיבה טיפוסיים הם .~0.1
דוגמא עם ערך ~10
רז נוסק ,כל הזכויות שמורות ©
53
דוגמא – טרנס' פרספקטיבה
zהדגמת ,LenaKot
הדגמת autoScale
שליטה ב pY -
רז נוסק ,כל הזכויות שמורות ©
54
טרנספורמציה כללית
zטרנס' כללית – 8נעלמים
רז נוסק ,כל הזכויות שמורות ©
55
Matlab מימוש ב
T = maketform(‘projective',[-0.4 -0.8 20;
0.7 0.1 10;
0.001 0.002 1]');
im = imread(‘im.jpg');
res = imtransform(im,T);
56
© כל הזכויות שמורות,רז נוסק
רז נוסק ,כל הזכויות שמורות ©
57
© Copyright 2025