 Hey Sashank you're up. Hi, am I audible? Yep, we can hear you. Yes, you are audible. Please go ahead. I Hope I'm audible. Yes, you are audible Sashank. Please go ahead. Fantastic Hi, my name is Sashank and it's a shock. Okay, so I'm a Python developer I work with computer vision deep learning for the last couple of years So during this lockdown period, you know apart from growing my hair like a wild boar I also decided to go back to the basics of computer vision that I learned a couple of years ago Where it was just monotonous. I learned what was what what was what? So that why not do some fun stuff with all that that I have learned So I came about the idea of how we can make a small maze solver using Python and open CV I had a passion for me this while I was a kid I loved finding the path all the time from the start of the maze to the end of it So I thought it could be fun to try something out So I'm guessing my screen is up right now So I'll just take you through before we go into the actual main solving part I wanted to take you through a couple of very important functions that we use in this and they're important as well as they're very very basic so when you are working with image processing these are extremely basic and So as you can see so since it's a five-minute talk, I didn't want to delve into Presentations I wanted to get right into the code so that I can give you a good idea of what I'm doing here So to start off with we are importing open CV which is CV to in Python Then I'm importing numpy and also I'm importing the matplotlib in to be able to display my Images so I'm importing that then I'm just importing a sample image so that I can show you what works So this is the sample image. This is the output of our sample image Which is just a J which I picked right off open series website of course And then the first operation that we need to understand is called erosion and erosion is exactly what it sounds like Erosion when we hear the term erosion when comes to soil erosion Which means that the top layer of the soil is usually gone or taken away and happens due to several reasons So erosion in image processing is also the exact same So it removes the borders of an image or any object in that the object that is the That is focus of the image it removes the borders of it So as you can see when I run the cell you are able to you will be able to see the difference between the original image And the road with image it looks kind of sort of like it's been stopped Then comes dilation dilation is the exact opposite of what erosion does By meaning so they it tries to widen the edges It tries to basically expand that image and we hear the word dilation usually when it comes to our eyes our eyes dilate When you have like I when life falls on to it and things like that. So this is dilation So when you run the cell that contains dilation, you'll be able to compare it with the original image. It's much fatter It's much plumpier than the original image. It kind of looks like it has Go into its grandmas place or something like that So these are the two important operations that people use in order to serve a motive here So, yeah, now I'm back to the point of how do we solve these needs first up? I'm going to give the part you can ignore this display image cell here Which basically it's just a small custom function that I've written in order to be able to print them comfortably So that is out of context. Yeah, so here's the original image So this is the image that we get when we are importing it This is the original image and on top of that we apply the binary operation Which is basically we use a CV to our threshold we threshold the image and they're converting an RGB image into a binary image at This point. So this is the output of our binary image and once that is done We move on to the actual most important parts of the operation, which is we have to find the contours So what are contours contours can contours is not a very easy topic to like to explain quickly but you know at a high level contours are Outlines you have to pick the outline of something you use the contours So if I have a can if I have a glass in my hand and I take a picture of it And I look for the contours. It's going to give me the ring of the glass so that's that's what contours are and Now I'm going to look for the contours here This is the function that we use to find the contours it returns to parameter to two variables One is the contours itself and the hierarchy of the contours next comes in the path the path to the binary image and then we draw the contours on top of our original image and this is exactly how our output looks like Once this is done Then we get into the two operations that we learned earlier one is dilation and the other is erosion So now I'm dilating the same image Now you can see that it looks much You know, it looks filled up now in the contour image. You were able to see some cracks Now you don't see those it's filled up and then you try erosion and when you wrote it You lose all the extra space that was created and Once you do them the main idea here is to remove the eroded image from the dilated image This is how you once your once you get this difference you can simply just plot it And I've actually created into it into a small, you know, web application that you can find that means puzzle solver.heroku I posted it on heroku there. You can just click and it's going to solve the puzzle by itself You have a lot of puzzle options which you can choose from and it's just a fun project that I worked on So I hope you enjoyed it. Thank you