Teaching image processing with MATLAB to physics students
Duncan Carlsmith, , University of Wisconsin-Madison
Image processing is an engaging activity appropriately taught to beginning students in STEM fields. I introduce my physics undergraduates to image processing with MATLAB in the first week of the class. They are supplied a brief introduction and a self-explanatory Live Script which explores how to import an image from a URL, examine its provenance, and then manipulate the color space, histogram the data in different color channels, transform the color space, create a montage, select pixels by value, and segment using circle finding and edge detection methods available a function calls in MATLAB.
This introduction is followed by a lab in camera calibration and coin location finding in which they come to appreciate quantitatively the image acquisition system in their mobile phones. By doing this themselves, students come to understand and appreciate how photogrammetry-based 3d measurement and scanning mobile phone apps work. The techniques can also be applied to implement video tracking in MATLAB for experiments in mechanics. Familiarity with image processing delights especially students with an interest in astronomy. The camera calibration and its use is essentially the basis for photogrammetry, which may interest engineers.
The introduction to image processing supplied in this course has interested some students to explore the deep learning capabilities of MATLAB. Students have launched into 2nd semester projects in which classical image processing techniques and deep learning have been applied successfully to develop products that perform species identification of disease-carrying vectors (mosquitos and ticks) as well as in the analysis of pesticide spray dispersion samples. Other students have applied classical and deep learning image processing techniques to images of cosmic ray interactions in mobile phone camera sensors. Can you think of an application?
My Live Scripts touching physics, astronomy, engineering, mathematics, biology, computation, and use of AI's are freely available at the MathWorks File Exchange. The link https://www.mathworks.com/matlabcentral/fileexchange/?q=carlsmith&sort=date_desc_submitted provides a list of currently available Live Scripts each with a brief description. Click the Live Script name to open the File Exchange page for that script. Use the examples tab to preview the Live Script. Use the 'Download' button to download a zip file containing the executable script, a PDF of the executed script, and possible associated functions, data, and media files. Use the 'Open in MATLAB Online' button to open the package in your MATLAB cloud account. The cloud option offers in a browser window a version of the native IDE supporting editing, coding assistance, debugging, script execution, and help.
Downloadable version of this essay
Teaching image processing with MATLAB to physics students (Acrobat (PDF) 30kB Sep18 20)