File size: 5,821 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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
1
00:00:01,500 --> 00:00:06,900
So let's start doing some bitwise operations and include in the device operations and masking because

2
00:00:06,960 --> 00:00:10,540
that's essentially what you will be using these bitwise operations for.

3
00:00:10,800 --> 00:00:15,460
They're quite handy when you have to mask images which you all seem to want to discuss but for now we'll

4
00:00:15,480 --> 00:00:17,640
just introduce the topic selflessly.

5
00:00:17,640 --> 00:00:20,200
Let's create some chips here.

6
00:00:20,400 --> 00:00:24,160
So we're going to create a square and an ellipse here.

7
00:00:24,160 --> 00:00:29,140
Now you may be familiar with creating a rectangle or square I call it because it's same dimensions.

8
00:00:29,140 --> 00:00:33,080
I decide for this one above that an ellipse is slightly different.

9
00:00:33,090 --> 00:00:35,870
It doesn't actually follow the same standard as a circle.

10
00:00:36,270 --> 00:00:40,440
You can check the open see the documentation to get some details I won't go into it in this chapter.

11
00:00:40,440 --> 00:00:42,660
Here to take up too much time.

12
00:00:43,030 --> 00:00:46,620
This run this function and we see it's here.

13
00:00:46,980 --> 00:00:51,780
So this ellipse a single left creates and has actually not a full ellipse of the parameters to create

14
00:00:51,780 --> 00:00:55,830
sort of a semi hemisphere type image here.

15
00:00:55,830 --> 00:01:00,270
So what we're going to do now we're going to overlay these images and using some bitwise operations

16
00:01:00,270 --> 00:01:03,370
to illustrate the different type of operations that we have.

17
00:01:04,050 --> 00:01:05,530
So let's get to it.

18
00:01:06,970 --> 00:01:11,050
So that's actually run some bitwise operations on the images we just created.

19
00:01:11,440 --> 00:01:19,190
So by doing that we use these open C-v functions bitwise and bitwise OR bitwise Exel and bitwise NOT.

20
00:01:19,450 --> 00:01:24,880
If you're familiar with logic gates or just on gerneral programming you'd understand that what these

21
00:01:24,880 --> 00:01:25,430
things mean.

22
00:01:25,450 --> 00:01:28,810
However it's always good to illustrate that you know images itself.

23
00:01:28,810 --> 00:01:33,820
Keep in mind that Squire and Lipps has to be of the same dimensions here which is why we created the

24
00:01:33,820 --> 00:01:37,480
canvas initially a tree rendered between two pixels.

25
00:01:37,480 --> 00:01:38,650
So that's around us.

26
00:01:38,650 --> 00:01:43,750
So before we run this I just get a refresher of what all images look like.

27
00:01:44,140 --> 00:01:48,130
So let's run it and come on what are you doing it's going to happen.

28
00:01:48,760 --> 00:01:49,750
Exactly.

29
00:01:49,840 --> 00:01:52,190
Why would you assume this would have happened.

30
00:01:52,540 --> 00:01:57,700
This is the intersection of only those two images here and by intersection I mean is that it only white

31
00:01:57,700 --> 00:01:58,220
areas.

32
00:01:58,240 --> 00:02:02,890
And keep in mind these statements here they would when you have a binary type image either black or

33
00:02:02,890 --> 00:02:05,130
white always a grayscale image.

34
00:02:05,140 --> 00:02:07,220
It's not exactly going to look like you imagine.

35
00:02:07,240 --> 00:02:09,060
You can try it on your own.

36
00:02:09,070 --> 00:02:09,720
I love it.

37
00:02:09,850 --> 00:02:12,180
I'm eliciting the concepts of these bitwise operations.

38
00:02:12,180 --> 00:02:17,770
You see this white area here and see only parts of those two images that intersected so let's look at

39
00:02:17,770 --> 00:02:20,460
it or that wise operation.

40
00:02:21,280 --> 00:02:25,880
Exactly as we anticipated both images shown here.

41
00:02:26,200 --> 00:02:31,040
Since this sort of takes the signal and the software and we do come together here.

42
00:02:31,440 --> 00:02:33,930
So what do you think exo of to do.

43
00:02:34,550 --> 00:02:35,600
Let's see.

44
00:02:35,620 --> 00:02:37,230
EXO is sort of a weird one.

45
00:02:37,240 --> 00:02:38,800
Sort of looks like a reverse.

46
00:02:38,900 --> 00:02:40,910
So the intersection between these.

47
00:02:40,960 --> 00:02:48,640
So what this means is that anything that's an axle goes back to 0 0 0 black and red remains with the

48
00:02:49,060 --> 00:02:50,650
images exist like a wall statement.

49
00:02:50,650 --> 00:02:51,990
It shows up here.

50
00:02:52,390 --> 00:02:56,830
So it can be useful some some things you can get maybe a little and figure out what you may need it

51
00:02:56,830 --> 00:02:57,450
for.

52
00:02:57,820 --> 00:02:59,070
And others are not.

53
00:02:59,070 --> 00:03:01,270
Now keep in mind not is different.

54
00:03:01,270 --> 00:03:05,970
Not just ticks into one takes from one image into consideration.

55
00:03:06,070 --> 00:03:11,920
So it's not is actually equivalent to inverse of an image and you'll see that shortly.

56
00:03:11,920 --> 00:03:14,000
So let's look at what that is.

57
00:03:14,200 --> 00:03:15,680
So let's bring it in here.

58
00:03:16,080 --> 00:03:18,500
Memorize this one.

59
00:03:18,500 --> 00:03:25,240
So this is a square run in a bitwise NOT operation as you can see it basically includes ticklers which

60
00:03:25,240 --> 00:03:31,470
is actually quite useful in many open any functions which you will come in to come across later on.

61
00:03:31,480 --> 00:03:33,760
So that's an introduction to bitwise operations.

62
00:03:33,760 --> 00:03:35,820
Hope you found it useful.