Talk Proposal Submission
If you are interested in attending this talk at PyCon JP 2017, please use the social media share buttons below. We will consider the popularity of the proposals when making our selection.
Correct 1000 exams with a bit of OpenCV(en)
It may look like a difficult task, but auto-correct a lot of multiple choice tests with Python can be very easy! With that objective in mind, we will learn how images are stored in a computer, how to work with arrays in Numpy, how to plot graphics easily with MatPlotLib an a couple of useful functions of computer vision from OpenCV.
- Learn how an RGB image is a combination of 3 matrices and how easy is to understand and work with a gray scale image in a single matrix. - Learn the basics of matrix and array creation and manipulation with Numpy. - Learn the basic interface of Matplotlib (pyplot) to make and save basic graphs. - Learn how to blur, detect contours and apply thresholds to images with OpenCV.
The objective of the talk is to demonstrate the use of some iconic libraries, tied through the plot thread of achieving easy test analysis. **Numpy** and **MatPlotLib** are two of the most important libraries in scientific Python, used for working with arrays and graphic representations respectively. As a gray scale image in the end is nothing but a matrix , we can use basic image manipulation to show how to work with them with **Numpy**, like using slicing and numpy functions. The easiest interface for **Matplotlib**, called **Pyplot**, is very useful to display a lot of graphs and plots with very little work. We can show an easy example of this by plotting detected contours over the image. We can also show some of the most basics functions of **OpenCV**, one of the most important softwares for computer vision, which has a comfortable Python binding. We will use the blur, threshold and detect contours functions. If there were enough time, we could also take a look to the **openpyxl** library, which we can use to export or import data through excel sheets. It may be important to explicitly note that, due to the limited amount of time available, **no library can be deeply explored**, and little or nothing will be live-coding demo. However, all the code necessary for generating all intermediate images will be provided through a Jupyter notebook via **GitHub**.