{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Digital Image Processing in Python\n", "### [Dr. Joshua Stough](http://joshuastough.com/), 202-\n", "\n", "

\n", " \n", " \n", " \n", "

\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", "# Preface\n", "\n", "Imaging is everywhere! In this text, we will cover broadly the acquisition, processing, and analysis of digital images, covering topics ranging from the human visual system, to image and video compression algorithms, to pattern recognition and machine learning within the context of automatic image understanding. Best of all, for the sake of access, immediacy, and usability, all content and code examples are in the form of interactive Jupyterlab notebooks, including integrated activities!\n", "\n", "### A note on AI\n", "With the advent of IDE-integrated LLM copilots, any of the integrated activities or playpen notebooks are trivial to complete. That is, your completion of them reflect almost nothing about *your* understanding of the material. If you're in class using this textbook resource, you can be expected to have to explain your work in non-augmented coding interviews throughout the course, which will comprise much of your grade. **These integrated activities are to help guide your learning, not add to your instructor's menial labor.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", "# Topics\n", "\n", "1. **Numpy And Visualization**\n", " 1. [Numpy Tutorial](./NumpyAndVisualization/numpy_tutorial.ipynb)\n", " 1. [Matplotlib Tutorial](./NumpyAndVisualization/matplotlib_tutorial.ipynb)\n", " 1. [Interactive Visualization](./NumpyAndVisualization/interactive_vis.ipynb)\n", " 1. [Probability Distributions, Gaussian and Uniform](./NumpyAndVisualization/probability_gauss_uniform.ipynb)\n", "1. **Sensing and Acquisition, Sampling and Quantization**\n", " 1. [Sampling and Spatial Resolution](./SensingSamplingQuantization/spatial_resolution.ipynb)\n", " 1. [Color Resolution or Quantization](./SensingSamplingQuantization/color_quantization.ipynb)\n", " 1. [demo: heightmap](./SensingSamplingQuantization/heightmap_demo.ipynb)\n", " 1. [exercise: playing with images](./SensingSamplingQuantization/playing_with_images.ipynb)\n", "1. **Color**\n", " 1. [Brightness, Hue, Saturation, Chromaticity](./Color/color_intro.ipynb)\n", " 1. [HSV](./Color/color_HSV.ipynb)\n", " 1. [YCbCr](./Color/color_YCbCr.ipynb)\n", " 1. [L*a*b and CIE Illuminants](./Color/color_Lab.ipynb)\n", " 1. [exercise: playing with color](./Color/playing_with_color.ipynb)\n", "1. **Contrast and Image Enhancement**\n", " 1. [Transfer Functions](./Enhancement/enhance_transfer.ipynb)\n", " 1. [Histogram Equalization](./Enhancement/enhance_histeq.ipynb)\n", " 1. [exercise: playing with contrast enhancement](./Enhancement/playing_with_enhance.ipynb)\n", " 1. [extra: bit-slicing and steganography](./Enhancement/bit_slicing_example.ipynb)\n", "1. **Information Theory, Entropy, and Huffman Coding** \n", " 1. Communication, Compression, and Perception\n", " 1. [Measuring Entropy](./Entropy/entropy_intro.ipynb)\n", " 1. [Huffman Coding and Image Compression](./Entropy/entropy_intro.ipynb)\n", " 1. Color Clustering\n", "1. **Coordinate Systems**\n", " 1. [Spatial Operations]()\n", " 1. [Geometric Transforms]()\n", " 1. [Predictive Coding and PNG Compression]()\n", "1. **Spatial Filtering, Smoothing and Sharpening**\n", " 1. [Convolution and Kernels]()\n", " 1. [Smoothing]()\n", " 1. [Sharpening]()\n", " 1. [Gradient Maps and Edge Detection]()\n", "1. **Basis Sets, Transform Coding, Wavelet Compression**\n", " 1. [Block Transforms]()\n", " 1. [Haar Wavelets]()\n", " 1. [Discrete Cosine Transform (DCT) and JPG Compression]()\n", " 1. [Comparing Reconstruction Efficiency]()\n", "1. **Image Analysis, Machine Learning**\n", " 1. [Points, Edges, Regions]()\n", " 1. [Canny Edge Detection]()\n", " 1. [Otsu's Method]()\n", " 1. [Superpixel Clustering]()\n", " 1. [Machine Learning Basics: Features, Loss, Optimization]()\n", " 1. [MNIST]()\n", " 1. [Face Recognition]()\n", "1. **Miscellanea**\n", " 1. Principal Component Analysis\n", " 1. [Karhunen Loeve Transform and Compression]()\n", " 1. [Face Space]()\n", " 1. [Component Spans]()\n", " 1. [Reconstruction]()\n", " 1. Tomography and the Radon Transform\n", " 1. Fourier and Frequency Encoding\n", " 1. Fourier Transform\n", " 1. Discrete Fourier Transform\n", " 1. CUDA and Graphics Processing Units" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.13" } }, "nbformat": 4, "nbformat_minor": 4 }