\[ \begin{align}\begin{aligned}\newcommand\blank{~\underline{\hspace{1.2cm}}~}\\% Bold symbols (vectors)
\newcommand\bs[1]{\mathbf{#1}}\\% Differential
\newcommand\dd[2][]{\mathrm{d}^{#1}{#2}} % use as \dd, \dd{x}, or \dd[2]{x}\\% Poor man's siunitx
\newcommand\unit[1]{\mathrm{#1}}
\newcommand\num[1]{#1}
\newcommand\qty[2]{#1~\unit{#2}}\\\newcommand\per{/}
\newcommand\squared{{}^2}
\newcommand\cubed{{}^3}
%
% Scale
\newcommand\milli{\unit{m}}
\newcommand\centi{\unit{c}}
\newcommand\kilo{\unit{k}}
\newcommand\mega{\unit{M}}
%
% Percent
\newcommand\percent{\unit{{\kern-4mu}\%}}
%
% Angle
\newcommand\radian{\unit{rad}}
\newcommand\degree{\unit{{\kern-4mu}^\circ}}
%
% Time
\newcommand\second{\unit{s}}
\newcommand\s{\second}
\newcommand\minute{\unit{min}}
\newcommand\hour{\unit{h}}
%
% Distance
\newcommand\meter{\unit{m}}
\newcommand\m{\meter}
\newcommand\inch{\unit{in}}
\newcommand\foot{\unit{ft}}
%
% Force
\newcommand\newton{\unit{N}}
\newcommand\kip{\unit{kip}} % kilopound in "freedom" units - edit made by Sri
%
% Mass
\newcommand\gram{\unit{g}}
\newcommand\g{\gram}
\newcommand\kilogram{\unit{kg}}
\newcommand\kg{\kilogram}
\newcommand\grain{\unit{grain}}
\newcommand\ounce{\unit{oz}}
%
% Temperature
\newcommand\kelvin{\unit{K}}
\newcommand\K{\kelvin}
\newcommand\celsius{\unit{{}^\circ C}}
\newcommand\C{\celsius}
\newcommand\fahrenheit{\unit{{}^\circ F}}
\newcommand\F{\fahrenheit}
%
% Area
\newcommand\sqft{\unit{sq\,\foot}} % square foot
%
% Volume
\newcommand\liter{\unit{L}}
\newcommand\gallon{\unit{gal}}
%
% Frequency
\newcommand\hertz{\unit{Hz}}
\newcommand\rpm{\unit{rpm}}
%
% Voltage
\newcommand\volt{\unit{V}}
\newcommand\V{\volt}
\newcommand\millivolt{\milli\volt}
\newcommand\mV{\milli\volt}
\newcommand\kilovolt{\kilo\volt}
\newcommand\kV{\kilo\volt}
%
% Current
\newcommand\ampere{\unit{A}}
\newcommand\A{\ampere}
\newcommand\milliampereA{\milli\ampere}
\newcommand\mA{\milli\ampere}
\newcommand\kiloampereA{\kilo\ampere}
\newcommand\kA{\kilo\ampere}
%
% Resistance
\newcommand\ohm{\Omega}
\newcommand\milliohm{\milli\ohm}
\newcommand\kiloohm{\kilo\ohm} % correct SI spelling
\newcommand\kilohm{\kilo\ohm} % "American" spelling used in siunitx
\newcommand\megaohm{\mega\ohm} % correct SI spelling
\newcommand\megohm{\mega\ohm} % "American" spelling used in siunitx
%
% Capacitance
\newcommand\farad{\unit{F}}
\newcommand\F{\farad}
\newcommand\microfarad{\micro\farad}
\newcommand\muF{\micro\farad}
%
% Inductance
\newcommand\henry{\unit{H}}
\newcommand\H{\henry}
\newcommand\millihenry{\milli\henry}
\newcommand\mH{\milli\henry}
%
% Power
\newcommand\watt{\unit{W}}
\newcommand\W{\watt}
\newcommand\milliwatt{\milli\watt}
\newcommand\mW{\milli\watt}
\newcommand\kilowatt{\kilo\watt}
\newcommand\kW{\kilo\watt}
%
% Energy
\newcommand\joule{\unit{J}}
\newcommand\J{\joule}
%
% Composite units
%
% Torque
\newcommand\ozin{\unit{\ounce}\,\unit{in}}
\newcommand\newtonmeter{\unit{\newton\,\meter}}
%
% Pressure
\newcommand\psf{\unit{psf}} % pounds per square foot
\newcommand\pcf{\unit{pcf}} % pounds per cubic foot
\newcommand\pascal{\unit{Pa}}
\newcommand\Pa{\pascal}
\newcommand\ksi{\unit{ksi}} % kilopound per square inch
\newcommand\bar{\unit{bar}}
\end{aligned}\end{align} \]
Dec 04, 2025 | 253 words | 3 min read
11. Checkpoint 1
In this module, students will be introduced to image preprocessing as a crucial first step before extracting features and using them to train machine learning models. The goal is to load, validate, and preprocess images in Python. Preprocessing ensures that all images share consistent properties (e.g., size, color space, data type), making extracted features (e.g., hue mean, hue standard deviation, etc.) reliable and comparable — which is essential for building reliable machine learning models with good performance. This task will reinforce skills in image processing, color space conversion, and error handling.
Topics Covered
Learning Objectives and Course Outcomes
At the end of this module, you will be able to:
Load and validate images in various formats (e.g., RGB, RGBA and Grayscale)
Convert images to both RGB and grayscale formats as needed
Modify the data type of image pixels
Convert RGB images to HSV without using external packages
Resize images while preserving the aspect ratio
Handle image-related errors and validate formats using exception handling
Write Python code that adheres to professional programming standards
These learning objectives are directly connected to the following Course Outcomes:
- CO 1.1:
Visually represent data and derive meaningful information from
data.
- CO 1.2:
Apply key engineering statistics concepts including mean, median,
mode, variance and standard deviation to engineering problems.
- CO 4.1:
Develop code solutions that address engineering questions and
follow professional programming standards.
- CO 4.4:
Apply design ideas to programming solutions.
- CO 4.5:
Read and apply flowcharts as a visual representation of a
process.