1
00:00:02,570 --> 00:00:03,560
All right, people.

2
00:00:03,740 --> 00:00:06,280
We are now on to stage two, which is mapping.

3
00:00:06,590 --> 00:00:12,440
Our primary goal for this state is to first convert the maize extractor in the localized state into

4
00:00:12,440 --> 00:00:14,210
some kind of clever symbol map.

5
00:00:14,990 --> 00:00:21,800
The road map for achieving that goal is to simplify our means into pathways and then find interest points

6
00:00:21,800 --> 00:00:22,430
between them.

7
00:00:23,210 --> 00:00:28,340
For this purpose, we create a new file that we name as mapping.

8
00:00:37,450 --> 00:00:42,340
Now, the very first thing that we do inside this farm is perform the necessary inputs.

9
00:00:43,180 --> 00:00:45,160
This includes the CB two

10
00:00:48,730 --> 00:00:49,510
and Numpad.

11
00:00:55,030 --> 00:01:03,400
Then we declare the class that we performed, the actual task of mapping and we name it as bought mapper.

12
00:01:04,840 --> 00:01:09,490
And the very first function that we define inside this class is the and function.

13
00:01:12,120 --> 00:01:17,880
Basically what this function will be doing is simply defining the instance variable that are necessary

14
00:01:17,880 --> 00:01:20,640
for this political class at its initializing state.

15
00:01:21,420 --> 00:01:24,360
So the function that we will be defining here is the.

16
00:01:25,440 --> 00:01:31,260
Boolean variable that basically carries the state of the class or whether the mapping process has been

17
00:01:31,260 --> 00:01:32,010
completed or not.

18
00:01:32,550 --> 00:01:39,870
So because this is basically converting our means to graph, so we name it as graphic file and because

19
00:01:39,870 --> 00:01:41,430
this is the initialized state.

20
00:01:41,640 --> 00:01:43,110
So we said this two fold.

21
00:01:44,040 --> 00:01:50,340
Then we define our second function that we name as graph invite to signify.

22
00:01:50,730 --> 00:01:56,670
I mentioned to the user that this perform the process of converting our mes to a nice looking graph.

23
00:01:57,690 --> 00:01:59,940
Now the stakes in the first argument of self.

24
00:02:00,090 --> 00:02:06,330
And the next argument is extracted means that we can see from the previous stage that is the localising

25
00:02:06,330 --> 00:02:06,690
stage.

26
00:02:07,560 --> 00:02:14,160
And then we simply check the side of this function, whether the graph function has been or the mapping

27
00:02:14,160 --> 00:02:15,450
function has been done or not.

28
00:02:15,720 --> 00:02:19,620
And that can be done by simply calling instance variable of graphing flight.

29
00:02:20,460 --> 00:02:26,730
And if it is not in graph ified or the mapping process has not been completed, then we proceed on to

30
00:02:26,730 --> 00:02:28,050
perform the mapping process.

31
00:02:28,590 --> 00:02:33,390
And the very first thing that we do inside this function is to display to the user the input that we

32
00:02:33,390 --> 00:02:36,630
receive from the previous stage, and that is the extracted means.

33
00:02:37,560 --> 00:02:43,890
Then we perform or simplify our means to get the simplified pathways instead of the complete region

34
00:02:43,890 --> 00:02:44,400
of interest.

35
00:02:44,640 --> 00:02:51,780
And that can be done by using the open CV function of pinning, which is part of X image processing

36
00:02:51,780 --> 00:02:52,410
library.

37
00:02:53,550 --> 00:03:00,720
And we access its kidney function, which takes in a source argument that we provide as extracted means.

38
00:03:03,280 --> 00:03:11,680
Once we provided this this basically upwards of a ten meters or possibly so we named it as ten.

39
00:03:13,180 --> 00:03:19,300
And then once we have this output, we display to the user and then proceed on to the next step and

40
00:03:19,300 --> 00:03:25,750
before moving on, the next thing that we do is to simply first perform our deletion over the spot phase

41
00:03:25,960 --> 00:03:27,370
and then perform turning again.

42
00:03:27,730 --> 00:03:33,310
And the reason we are going to do this is because there can be a lot of interest points when we find

43
00:03:33,310 --> 00:03:34,450
in this particular image.

44
00:03:34,780 --> 00:03:40,570
So you want to simply get a lot less interest points that we might get in this case.

45
00:03:40,960 --> 00:03:46,720
So that can be done by simply deletion and then performing the thing again to simplify our means or

46
00:03:46,720 --> 00:03:48,040
pathways even further.

47
00:03:48,700 --> 00:03:54,910
So we do exactly that by using the morphology, execute to perform the dilation, by using a structural

48
00:03:54,910 --> 00:03:57,130
element and then performing thinning again.

49
00:03:58,160 --> 00:04:03,770
So once we have this simplified thing, we then move on to perform a little bit of cropping.

50
00:04:04,130 --> 00:04:10,660
And the reason are performing cropping because a lot of other things might get on the boundary outside

51
00:04:10,670 --> 00:04:13,400
of the maize, inside the extracted means variable.

52
00:04:13,670 --> 00:04:14,720
And we don't want that.

53
00:04:14,750 --> 00:04:17,090
We only want our maize inside that variable.

54
00:04:17,540 --> 00:04:21,410
So to do that, we are going to crop all the boundaries of our maize.

55
00:04:22,040 --> 00:04:27,770
So to do that, we need a new variable inside that initialization function that is the crop mark.

56
00:04:28,340 --> 00:04:34,070
So we are going to set this to five because we want to remove five pixels all around our maize.

57
00:04:34,880 --> 00:04:42,230
So let's perform the cropping now and that can be done by simply accessing ten variable calling and

58
00:04:42,230 --> 00:04:50,330
cropping the rules by writing itself, not crop amount going all the way to the end end goal and rules.

59
00:04:50,780 --> 00:04:57,590
We're writing ten does zero, which is the rules and subtracting the self or crop mount.

60
00:04:58,190 --> 00:05:04,940
So these are crop cropping for the rules, then we crop for the columns and that can be done the same

61
00:05:04,940 --> 00:05:07,910
way we're writing Crop Mount Ten.

62
00:05:09,150 --> 00:05:19,170
That ship one which is the columns and then subtracting the crop mount to crop out the column on both

63
00:05:19,170 --> 00:05:19,650
sides.

64
00:05:20,430 --> 00:05:22,410
So basically our ten.

65
00:05:24,700 --> 00:05:28,780
Variable has been cropped on all sides by five pixels.

66
00:05:29,050 --> 00:05:32,380
So we named this new variable as ten cropped.

67
00:05:34,770 --> 00:05:43,230
So once we have this up, we can then display this thin crop thin and crop pathways to the user by overlaying

68
00:05:43,230 --> 00:05:45,540
it over the original extracted myth.

69
00:05:46,290 --> 00:05:51,870
So we need to also perform the cropping over the extracted mes so that we could overlay this image over

70
00:05:51,870 --> 00:05:52,320
that one.

71
00:05:54,010 --> 00:05:57,580
Suppose we display this to the user and then perform the overlay.

72
00:05:58,240 --> 00:06:04,150
And the way this works is, is simply cropping our extracted means and then overlaying the tin crop

73
00:06:04,150 --> 00:06:05,650
over our extracted means.

74
00:06:06,640 --> 00:06:12,250
And once we have this information, we can now call the last function that we perform or complete our

75
00:06:12,250 --> 00:06:12,700
mapping.

76
00:06:13,000 --> 00:06:16,030
That is the one function inside this function.

77
00:06:16,330 --> 00:06:21,490
The only thing that we are going to do right now is to extract the interest points from our members.

78
00:06:22,000 --> 00:06:23,380
So let's call that function.

79
00:06:24,040 --> 00:06:29,770
That is the one false the sticks and the only argument of the tin group that we have just received right

80
00:06:29,770 --> 00:06:30,040
now.

81
00:06:30,790 --> 00:06:36,160
So now we need to define this particular function that we perform or extract interest points from our

82
00:06:36,160 --> 00:06:36,500
moves.

83
00:06:37,080 --> 00:06:38,260
Let's define that function.

84
00:06:39,950 --> 00:06:48,050
So we go right over here to find one path and then give it the first argument or so the next argument

85
00:06:48,050 --> 00:06:48,670
of me.

86
00:06:49,340 --> 00:06:55,430
And then the very first thing that we do here is to first create a mes authority.

87
00:06:55,700 --> 00:06:59,300
I have as Ms. is definitely not the means.

88
00:06:59,660 --> 00:07:02,030
So we try and instead of pn.

89
00:07:02,570 --> 00:07:10,250
So once we have the means now correctly, we can then move on to extracting or creating a mes bcr or

90
00:07:10,250 --> 00:07:11,150
a coloured mes.

91
00:07:11,570 --> 00:07:16,550
Now this is necessary to display the interest points that we have found out in this particular function.

92
00:07:16,880 --> 00:07:26,510
So we create that means BGR or Ms. BGR by writing or using the opens in function of convert colour.

93
00:07:27,810 --> 00:07:29,980
So this takes in the source, which is our means.

94
00:07:30,980 --> 00:07:32,840
And for the code I pass in.

95
00:07:34,160 --> 00:07:40,490
Color gray to BGR and this converts or creates our PDR color means.

96
00:07:41,390 --> 00:07:47,660
Now, once I upgraded this, the next step is to simply create a window to display this björkman images

97
00:07:48,140 --> 00:07:52,460
so that can be done by simply writing CV to window.

98
00:07:52,760 --> 00:07:59,030
And then I extract the total number of rows and columns of our mes and this wasn't necessary to simply

99
00:07:59,090 --> 00:08:01,850
loop over all the mes pixels.

100
00:08:02,420 --> 00:08:07,580
And that will be done like mentioning the theory in the form of left or right and then top to bottom.

101
00:08:07,970 --> 00:08:09,470
So we write here for loop.

102
00:08:10,540 --> 00:08:14,920
Rule in range of all the rules or total rules.

103
00:08:15,880 --> 00:08:18,130
So it goes from zero to total rule.

104
00:08:18,640 --> 00:08:24,970
And then we go from column in range of total columns.

105
00:08:25,720 --> 00:08:32,500
And then once we're done with this, we then need to check, identify the probable interest points and

106
00:08:32,500 --> 00:08:34,600
the reason the probable interest points.

107
00:08:35,570 --> 00:08:40,850
And the way that we can find out the probable interest points is by checking the means where it has

108
00:08:40,850 --> 00:08:48,230
a one value or a positive value because that in indicates a pathway that our interest point could be

109
00:08:48,230 --> 00:08:48,650
present.

110
00:08:49,130 --> 00:08:56,330
So we can write it right or find it by writing if missed rule or the current crew and column.

111
00:08:58,010 --> 00:09:07,910
If it is equal to positive value there is to 55, then we are on a probable probable interest point.

112
00:09:08,480 --> 00:09:14,090
So what we need to do to confirm whether this is an interest point or not or not just a part, we need

113
00:09:14,090 --> 00:09:18,440
to find the surrounding pixel intensities.

114
00:09:21,020 --> 00:09:26,330
So what that will be defining will be defining a new function.

115
00:09:26,840 --> 00:09:27,170
Right.

116
00:09:27,170 --> 00:09:27,490
About.

117
00:09:29,630 --> 00:09:31,610
So let's define that function right here.

118
00:09:31,790 --> 00:09:32,420
And there it is.

119
00:09:32,420 --> 00:09:34,190
The gets around fixing intensities.

120
00:09:34,520 --> 00:09:40,610
This takes in the MES and the current column and the control and then gives out the pixel intensities

121
00:09:40,880 --> 00:09:42,110
along with the pathways.

122
00:09:42,620 --> 00:09:48,980
Now to get all the pathways or the number of pathways, we need to convert this mes positive values

123
00:09:48,980 --> 00:09:50,480
from 255 to 1.

124
00:09:51,610 --> 00:09:58,780
So if we have four pathways, then four pixels around our current pixel will have one value and we can

125
00:09:58,780 --> 00:10:02,410
simply sum them up to get the total number of path around the pixel.

126
00:10:02,920 --> 00:10:10,480
So for that purpose, we'll be using a threshold function that takes in the means or the trash we provide

127
00:10:10,480 --> 00:10:10,600
in.

128
00:10:10,600 --> 00:10:15,970
Once any value that is given, then one should get squished to the max value, which is one.

129
00:10:16,540 --> 00:10:21,340
And because we are performing my binary thresholding, so we right here.

130
00:10:22,710 --> 00:10:28,410
THRUSH binary and because threshold provides to our cause and we only one the second we write one.

131
00:10:29,040 --> 00:10:30,990
So this gives me a nice looking move.

132
00:10:33,000 --> 00:10:38,640
So once we have this information, we can then proceed on to extracting the total number of rows and

133
00:10:38,640 --> 00:10:40,500
columns that are present inside.

134
00:10:40,500 --> 00:10:46,350
This means and that can be done by simply writing Miss Dos Sheep zero.

135
00:10:46,920 --> 00:10:51,750
And for the column we write means dodge sheep.

136
00:10:54,400 --> 00:10:54,820
What?

137
00:10:55,660 --> 00:11:01,240
Once we have this information, we proceed on to declare the state variables that basically address

138
00:11:01,240 --> 00:11:02,320
the boundary conditions.

139
00:11:03,160 --> 00:11:08,260
So these are the top row, bottom row, left column and right column.

140
00:11:08,660 --> 00:11:12,100
Whether our pixel is one of these boundary conditions.

141
00:11:12,580 --> 00:11:16,540
So let's check whether the pixel was the boundary condition or not.

142
00:11:16,960 --> 00:11:18,790
And that can be done by simply checking.

143
00:11:20,640 --> 00:11:26,910
If our current show equal equals zero, that indicates that we are on a boundary condition.

144
00:11:27,150 --> 00:11:29,370
There is that we are on the top row.

145
00:11:30,570 --> 00:11:38,190
So we said that true in the same way we addressed other cases and checked whether we are on a boundary

146
00:11:38,190 --> 00:11:38,910
condition or not.

147
00:11:40,080 --> 00:11:45,720
So if our control is the last row and the bottom row should be set to true, if the current column is

148
00:11:45,720 --> 00:11:48,420
the first column in the left column, which after true.

149
00:11:48,660 --> 00:11:52,800
So this is the we are we check whether we are on the boundary condition or not.

150
00:11:53,250 --> 00:11:57,840
Now that we know whether we are on the board, recognition or not mean to address these cases.

151
00:11:58,350 --> 00:12:00,210
So let's address the corner cases.

152
00:12:00,390 --> 00:12:02,700
That is if.

153
00:12:04,770 --> 00:12:07,920
If we are on the top row or the left column.

154
00:12:11,550 --> 00:12:12,600
Oh, the left column.

155
00:12:13,710 --> 00:12:15,180
Then what we need to do.

156
00:12:15,420 --> 00:12:15,810
We can.

157
00:12:15,930 --> 00:12:20,760
We can see now that the top left can simply not be accessed.

158
00:12:20,970 --> 00:12:23,400
So we need to give it a default value of zero.

159
00:12:23,850 --> 00:12:30,900
Otherwise, if that's not the case, we can access the top left value by simply writing the maze and

160
00:12:30,900 --> 00:12:39,540
giving it the current row minus one for the top and current column, minus one for the left.

161
00:12:40,800 --> 00:12:43,380
And the same way we address the rest of the cases.

162
00:12:46,600 --> 00:12:47,040
All right.

163
00:12:47,370 --> 00:12:52,800
Once we address these cases, we need to address the lost cases that are not part of the court cases,

164
00:12:52,980 --> 00:12:54,120
but the general cases.

165
00:12:54,480 --> 00:13:04,230
So, for example, if we are on the top row, if we are the top on the top row, then definitely anything

166
00:13:04,230 --> 00:13:08,340
that is above our pixel cannot be accessed because we are already on the top.

167
00:13:08,760 --> 00:13:11,070
The top will be set to zero.

168
00:13:12,180 --> 00:13:16,170
Else the top can be accessed by simply writing means.

169
00:13:17,470 --> 00:13:24,700
Right in Crunchyroll minus one fixed at the top and the same column or the current column in the same

170
00:13:24,700 --> 00:13:27,400
way we address other cases there is.

171
00:13:28,680 --> 00:13:30,690
Computing the right bottom.

172
00:13:30,930 --> 00:13:36,660
And look, once we are done with this information, we can then proceed on to finding out the total

173
00:13:36,660 --> 00:13:38,670
number of pathways around the current pixel.

174
00:13:39,670 --> 00:13:45,010
So that can be done by simply adding all the positive surrounding fixed line densities that are all

175
00:13:45,010 --> 00:13:45,340
one.

176
00:13:45,670 --> 00:13:52,360
So if we have two pathways, then we have two surrounding pixel that have both intensity of what.

177
00:13:53,200 --> 00:13:57,970
So if we have a number of part there is good in a do I want it to display to the user.

178
00:13:58,270 --> 00:14:01,660
But simply debug whether we are doing this correctly or not.

179
00:14:01,900 --> 00:14:04,060
And then we return everything that we computed.

180
00:14:04,540 --> 00:14:06,880
Once we're done with this, we can then proceed on.

181
00:14:07,910 --> 00:14:11,840
Right before what we were doing inside our one pass function.

182
00:14:12,140 --> 00:14:17,810
So we can call this function of good, strong pixel intensities and get all the following output.

183
00:14:18,200 --> 00:14:21,860
Once we have this output, we need to check whether our parts.

184
00:14:22,860 --> 00:14:24,390
Ah, of a specific number or not.

185
00:14:24,480 --> 00:14:30,840
But before that, one thing that we need to check is whether we are on the start point or an end point

186
00:14:30,990 --> 00:14:34,840
start point representing the MIS entry on the end point, representing the music.

187
00:14:35,370 --> 00:14:45,600
So first we need to find these points and that can be found by simply writing if row row equal to zero

188
00:14:46,320 --> 00:14:50,010
or row equal to.

189
00:14:53,240 --> 00:14:54,440
Rose minus one.

190
00:15:00,050 --> 00:15:02,690
Rules minus one or.

191
00:15:04,550 --> 00:15:08,540
Call them equal equals zero or.

192
00:15:10,530 --> 00:15:11,010
Going.

193
00:15:13,930 --> 00:15:16,360
Equals equals two columns minus one.

194
00:15:20,290 --> 00:15:20,770
All right.

195
00:15:21,340 --> 00:15:27,550
So inside this condition, if such a condition occurs, we checked, we are sure that it's either a

196
00:15:27,550 --> 00:15:28,960
start point or end point.

197
00:15:29,290 --> 00:15:31,540
Now we need to find whether this is a start point or not.

198
00:15:31,930 --> 00:15:39,250
So if they're equal, equal to zero, and this is a start point and we need to give it a distinct color

199
00:15:39,370 --> 00:15:40,660
inside the BGR.

200
00:15:40,960 --> 00:15:43,270
So the user could see it or identify it.

201
00:15:43,750 --> 00:15:51,070
So that can be done by simply providing the row in column for the BGR and then giving it a color of

202
00:15:51,070 --> 00:15:54,790
orange so that we could identify that this is the stock.

203
00:15:56,560 --> 00:16:03,460
Now, once I have done this, I need to address the other case that is and so earn or make exit.

204
00:16:06,280 --> 00:16:11,020
So if such a case occurs, I give it a distinct color.

205
00:16:14,900 --> 00:16:21,470
I give it a distinct colour of green so that the user could identify that this is the music.

206
00:16:22,160 --> 00:16:27,920
Now we need to display this to the user by simply writing I am show means ingress point.

207
00:16:27,950 --> 00:16:33,140
Now, once we have addressed the start and end point, we have found a our major address, other cases

208
00:16:33,380 --> 00:16:36,110
where the pathways are the one, two, three or four.

209
00:16:36,590 --> 00:16:41,810
So if the pathways is one, that means only one path leads up to our interest point.

210
00:16:42,080 --> 00:16:44,480
That means that interest point is a dead end.

211
00:16:45,410 --> 00:16:47,540
So let's address that condition.

212
00:16:48,320 --> 00:16:52,520
So if the path is equal to equal to one, that means it is a dead end.

213
00:16:52,910 --> 00:16:55,350
And we simply give it a distinct colour in the state.

214
00:16:55,370 --> 00:17:00,140
We use it the same way we address the case for whether we are doing or not.

215
00:17:01,520 --> 00:17:08,180
So what it's doing, we have a slightly different case because if the parts are to a number, then it

216
00:17:08,180 --> 00:17:10,670
could be either undoing or either a state.

217
00:17:10,670 --> 00:17:15,350
But so we want to omit all state parts and only key interest points.

218
00:17:15,560 --> 00:17:22,490
That is a done so we check there using this condition and this gives us only the tones and it's the

219
00:17:22,490 --> 00:17:23,090
straight path.

220
00:17:23,570 --> 00:17:29,180
So we give it a nice looking blue on the straight or the tones, and then we address the last four two

221
00:17:29,180 --> 00:17:29,840
conditions.

222
00:17:31,510 --> 00:17:37,380
That is, if it is either a three junction or a four junction and we give them distinct colour.

223
00:17:37,950 --> 00:17:39,090
Show them to the user.

224
00:17:39,360 --> 00:17:40,380
And this completes.

225
00:17:41,390 --> 00:17:45,470
Our one fast algorithm for finding the interest points.

226
00:17:45,830 --> 00:17:51,170
And now we can simply run this and see whether we have implemented this correctly and completed the

227
00:17:51,170 --> 00:17:55,730
first two tasks of simplifying our MES and then finding the interest points or not.

228
00:17:56,450 --> 00:17:57,190
So let's do that.

229
00:17:59,840 --> 00:18:05,480
Now that we have completed board mapping up until finding the interest points, we need to run it to

230
00:18:05,480 --> 00:18:07,580
see whether it is doing its job or not.

231
00:18:08,210 --> 00:18:09,980
But before that, a few things.

232
00:18:10,610 --> 00:18:16,550
One I missed out the declaration of draw interest points, a boolean variable there to draw interest

233
00:18:16,550 --> 00:18:18,560
points once they have been detected.

234
00:18:18,920 --> 00:18:20,870
And we said this to false.

235
00:18:21,790 --> 00:18:26,740
And second, we come out of one box calling of the one algorithm.

236
00:18:26,980 --> 00:18:32,530
For the moment, then we had to work with the myth solver after we imported the bot locus.

237
00:18:32,530 --> 00:18:43,060
Either we invoke the bot mapper from the Borton mapping file, so we input more mapper and then we head

238
00:18:43,060 --> 00:18:44,680
over to the initialization function.

239
00:18:44,980 --> 00:18:48,670
The main solver class we after we have created object for what?

240
00:18:48,700 --> 00:18:49,380
Localized.

241
00:18:49,870 --> 00:18:52,930
We create the bot mapper object.

242
00:18:56,760 --> 00:19:02,370
So once we have done this and move over to the missile and function after we have localized our robot,

243
00:19:03,540 --> 00:19:06,720
we now perform the mapping by calling bot mapper.

244
00:19:08,000 --> 00:19:11,990
And then graphic fire and passing and.

245
00:19:12,910 --> 00:19:14,680
The self-doubt, both localised.

246
00:19:16,990 --> 00:19:17,680
Localize the.

247
00:19:19,150 --> 00:19:22,810
Don't miss occupancy as the expected miss.

248
00:19:23,320 --> 00:19:29,950
This completes the calling process of the mapping module and now we can simply head over to the terminal

249
00:19:31,240 --> 00:19:32,050
when the project.

250
00:19:34,070 --> 00:19:35,210
We launched a simulation.

251
00:19:36,660 --> 00:19:41,070
As soon as a simulation starts up, we will run our Ms. solver.

252
00:19:43,000 --> 00:19:45,190
So as you can see, the main server has started up.

253
00:19:45,700 --> 00:19:52,570
This is the base occupancy that we started from the localized stage and then for press enter and as

254
00:19:52,570 --> 00:19:58,630
you can see starting from the extracted maze, this was the input that we see in the mapping module.

255
00:19:58,870 --> 00:20:04,210
This is the extracted means that we receive from the localizing state and then we perform pinning on

256
00:20:04,210 --> 00:20:08,200
it which to reduce this region of interest into pathways.

257
00:20:08,740 --> 00:20:15,970
Once we have simplified it to part ways, we simplify it even further by performing dilation and then

258
00:20:16,030 --> 00:20:17,170
performing pinning again.

259
00:20:17,230 --> 00:20:18,430
So we get tuning twice.

260
00:20:18,790 --> 00:20:21,580
So this has simplified our process to even further.

261
00:20:22,000 --> 00:20:29,650
And then we process and then we get crop out outside of the maze to remove all the extra boundary that

262
00:20:29,650 --> 00:20:30,760
was just not required.

263
00:20:31,330 --> 00:20:33,280
This gives us the ten crop.

264
00:20:33,670 --> 00:20:39,880
And then finally we overlay this pathway that we have computed or extracted from the maze over the extracted

265
00:20:39,880 --> 00:20:40,240
maze.

266
00:20:40,630 --> 00:20:44,020
And this is the final output that you got up until this moment.

267
00:20:44,410 --> 00:20:50,230
As you can see, this yellow marking represents the pathways that we have computed from our extracted

268
00:20:50,230 --> 00:20:50,590
maze.

269
00:20:51,430 --> 00:20:57,640
Now, to test out the one path algorithm of finding the interest points we head over.

270
00:20:58,730 --> 00:21:07,460
To our school where I have created a desk mapping of sorts, a pest mapping file of sorts that is used

271
00:21:07,460 --> 00:21:09,350
to test the one fast algorithm.

272
00:21:09,590 --> 00:21:13,730
And the way this works is it simply imposed a new means.

273
00:21:13,730 --> 00:21:15,530
And this means is a tiny maze.

274
00:21:16,220 --> 00:21:23,990
And it being tiny helps us to easily identify whether our interest points have been correctly identified

275
00:21:23,990 --> 00:21:24,470
or not.

276
00:21:25,070 --> 00:21:30,350
So I imploded and then passing this tiny image through the OnePlus algorithm.

277
00:21:30,890 --> 00:21:31,910
And if I run it.

278
00:21:34,350 --> 00:21:37,360
Once it starts up, you'll see that this is our myth.

279
00:21:37,800 --> 00:21:38,940
So this is very simple.

280
00:21:38,940 --> 00:21:44,970
And you can easily identify that the top pixel is easily the stock on the bottom is the lower pixel

281
00:21:44,970 --> 00:21:46,340
is easily the end point of them.

282
00:21:46,350 --> 00:21:52,170
Is this the left edge is basically the dead end because only one part is leading up to it.

283
00:21:52,890 --> 00:21:58,780
So if I press enter, you will see interest points that have been detected in the phone colors.

284
00:21:59,310 --> 00:22:02,550
So if you remember we said the orange for start point.

285
00:22:02,670 --> 00:22:05,550
So it has been correctly identified green for End Point.

286
00:22:05,790 --> 00:22:06,630
That is also correct.

287
00:22:07,020 --> 00:22:08,700
And the red is a dead end.

288
00:22:08,850 --> 00:22:12,120
So you can see only one pixel is leading up to this one.

289
00:22:12,400 --> 00:22:14,370
One part is leading up to this interest point.

290
00:22:14,640 --> 00:22:15,540
So this is a dead end.

291
00:22:16,020 --> 00:22:20,580
And the same way, if you look at the dark blue color which represents does so as you can see, these

292
00:22:20,580 --> 00:22:23,430
three pixels make 90 degree angle with each other.

293
00:22:23,730 --> 00:22:30,390
So in the utterance, because only two pathways are leading up to it and purple represents a four junction,

294
00:22:30,390 --> 00:22:31,950
one, two, three, four.

295
00:22:32,850 --> 00:22:39,300
So by this tiny image, easily able to identify that our interest points have been correctly identified.

296
00:22:39,750 --> 00:22:42,090
Now let's move over to our main.

297
00:22:43,100 --> 00:22:47,030
To our men, both mapping and then onwards we are terminal.

298
00:22:47,870 --> 00:22:49,070
We have simulation run.

299
00:22:50,150 --> 00:22:52,550
Build this particular project once more.

300
00:22:53,620 --> 00:22:57,760
But if we're building that project, we uncomment out the one false algorithm.

301
00:22:58,720 --> 00:23:06,160
And also said the interest points to true so that we can now draw the interest points so the user can

302
00:23:06,160 --> 00:23:06,570
see that.

303
00:23:07,420 --> 00:23:07,780
So.

304
00:23:09,090 --> 00:23:10,140
We build this again?

305
00:23:11,700 --> 00:23:14,580
And once this is done, we run the over.

306
00:23:15,390 --> 00:23:19,920
And this time, once we get them, is occupancy grade from the local ocean state.

307
00:23:20,100 --> 00:23:26,090
You press enter and you will see that we have a new output after the pathways being overlaid over the

308
00:23:26,400 --> 00:23:26,910
inmates.

309
00:23:27,360 --> 00:23:32,910
This new output is the main interest points, the interest point that have been identified in our midst.

310
00:23:33,330 --> 00:23:39,360
And as you can see, this red circle represents the dead ends and the three number in our maze, and

311
00:23:39,360 --> 00:23:41,130
they have been correctly identified.

312
00:23:41,400 --> 00:23:43,890
As you can see, only one path is leading up to them.

313
00:23:44,550 --> 00:23:49,890
So if you look at right here, this is what the deadline might look like for this last case.

314
00:23:49,980 --> 00:23:55,170
And as you can see, only the red right pixel is leading up to this pixel.

315
00:23:55,440 --> 00:23:57,840
So this is a dead end under the hood.

316
00:23:58,380 --> 00:24:03,990
And as it can see, this pink triangle represents a three junction and three junction, a three paths

317
00:24:04,110 --> 00:24:04,860
leading up to it.

318
00:24:04,980 --> 00:24:09,180
And this blue rectangle represents a four junction.

319
00:24:09,490 --> 00:24:11,550
The this full path leading up to it.

320
00:24:11,910 --> 00:24:14,070
So in this way, we have confirmed that our.

321
00:24:15,100 --> 00:24:20,050
What mapping process up until finding the interest points is indeed working correctly.

322
00:24:20,500 --> 00:24:25,710
This means now we need to create a graph class to store all the interest points that we are just one.

323
00:24:26,290 --> 00:24:27,310
So let's go do the.
