File size: 4,714 Bytes
17e2002
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
1
00:00:02,190 --> 00:00:05,050
So let's talk a bit about rotations now rotations.

2
00:00:05,220 --> 00:00:06,180
Pretty simple as well.

3
00:00:06,180 --> 00:00:09,590
HOLOVATY also more Quick's that I'll teach you quickly.

4
00:00:09,720 --> 00:00:15,980
So using a favorite politician again Donald Trump issued exactly what a rotation is.

5
00:00:15,990 --> 00:00:20,660
So as you can see it rotates about a point and this point here in this image is the center.

6
00:00:20,970 --> 00:00:26,010
And just to set the image around that point so imagine that point as a pivot.

7
00:00:26,010 --> 00:00:29,710
So similarly in no translation transformation.

8
00:00:30,160 --> 00:00:31,270
We had a matrix.

9
00:00:31,290 --> 00:00:36,650
Now we have an M matrix which is the shorthand used for the rotation matrix.

10
00:00:36,660 --> 00:00:38,390
Here is the angle of rotation.

11
00:00:38,430 --> 00:00:42,920
As you can see it's an anti-clockwise angle measured from this point here.

12
00:00:43,650 --> 00:00:50,520
And one important thing to note is that the open Sivy function which is get tradition which is 2D actually

13
00:00:50,520 --> 00:00:55,580
does scaling an irritation at the same time which you will see in the code.

14
00:00:56,010 --> 00:01:01,460
So let's implement some mortician's using open C-v superstitions are very similar to translations in

15
00:01:01,470 --> 00:01:04,290
that we actually have to generate a transformation matrix.

16
00:01:04,290 --> 00:01:09,420
What we call the rotation matrix here and to do that we actually use an open CB function called Get

17
00:01:09,420 --> 00:01:11,450
a rotation matrix 2d.

18
00:01:11,450 --> 00:01:13,840
Now this function is fairly simple as well.

19
00:01:13,890 --> 00:01:21,900
What you give it is this argument is sense of x and y Center which corresponds to width and height that's

20
00:01:21,900 --> 00:01:23,120
the center point of the image.

21
00:01:23,130 --> 00:01:28,950
In most cases however you can and you are free to retaliate among among any point in image for whatever

22
00:01:28,950 --> 00:01:32,780
reason that maybe this is a theater which is an angle of addition.

23
00:01:32,790 --> 00:01:38,420
Remember it's anti-clockwise and this is a scaling factor which will bring or bring up shortly.

24
00:01:38,820 --> 00:01:44,030
And we use this rotation matrix again and it happens if you walk a fine function.

25
00:01:44,060 --> 00:01:46,810
So let's run this could see what it looks like.

26
00:01:46,820 --> 00:01:47,250
There we go.

27
00:01:47,260 --> 00:01:52,610
So that's that image rotated 90 degrees anti-clockwise and you may have noticed that a top and bottom

28
00:01:52,610 --> 00:01:57,370
parts of the image are cropped mainly because the canvas séjour means a seam.

29
00:01:57,440 --> 00:01:59,660
So there are two ways we can fix that one.

30
00:02:00,110 --> 00:02:01,430
Let's adjust the scale here.

31
00:02:01,440 --> 00:02:05,610
So let's put this point five wiggle.

32
00:02:05,700 --> 00:02:08,520
However it is a lot of black space around this image.

33
00:02:08,910 --> 00:02:15,450
Now to avoid that you would actually have to actually put the specific width and height of the new rotated

34
00:02:15,450 --> 00:02:16,210
image.

35
00:02:16,320 --> 00:02:19,880
So whatever you anticipate it to be you can program it here.

36
00:02:20,490 --> 00:02:23,190
However that's not often what is not.

37
00:02:23,190 --> 00:02:27,510
It's a bit tedious to do sometimes unless you have a special case for it.

38
00:02:27,510 --> 00:02:33,420
There's another way we can do it and that's by using the transpose function here not the transpose function

39
00:02:33,640 --> 00:02:34,990
that's run the school and see what happens.

40
00:02:35,020 --> 00:02:39,640
This is actually transposes image 100 percent.

41
00:02:39,660 --> 00:02:44,530
No you may not see the bottom because it's cut off from the screen casting off here.

42
00:02:44,970 --> 00:02:52,340
Over that image is fully done and here anti-clockwise and there's no black space around it.

43
00:02:55,230 --> 00:02:58,960
So this is just another easy and convenient way for teaching images.

44
00:02:58,980 --> 00:03:04,470
However when he does it in 90 degrees increments at one time so he can play around with us and actually

45
00:03:04,470 --> 00:03:10,230
do some cool rotations without having to actually program it with a new with a new height of the new

46
00:03:10,230 --> 00:03:10,860
canvas.