My awesome notes about computer vision
This is the notes I took in my computer vision journey. Contents are from image basics and processing to object detection and tracking, even deep learning.
These notes consist of six topics. You can easily access all the content below.
- 1.1 Numpy Basics np.array, np.zeros, np.ones, np.arange, np.linspace, np.random.randint, np.reshape
- 1.2 OpenCV Basics cv2.imread, cv2.resize, cv2.flip, cv2.rotate, cv2.imwrite
- 1.3 Opening Images with OpenCV
- 1.4 Drawing on Images cv2.rectangle, cv2.circle, cv2.line, cv2.putText, cv2.polylines
- 1.5 Drawing on Images with a Mouse
- 2.1 Colorspaces cv2.cvtColor
- 2.2 Blending and Pasting Images cv2.addWeighted
- 2.3 Image Thresholding cv2.threshold, cv2.adaptiveThreshold
- 2.4 Image Blurring cv2.blur, cv2.GaussianBlur, cv2.medianBlur, cv2.bilateralFilter, cv2.filter2D
- 2.5 Morphological Operators cv2.getStructuringElement, cv2.morphologyEx
- 2.6 Gradients cv2.Sobel, cv2.Scharr, cv2.Laplacian
- 2.7 Histograms cv2.calcHist, cv2.equalizeHist, cv2.convertScaleAbs
- 2.8 Transformations cv2.getAffineTransform, cv2.warpAffine, cv2.getPerspectiveTransform, cv2.warpPerspective
- 3.1 Connecting to Camera
- 3.2 Saving Video
- 3.3 Opening Video Files
- 3.4 Drawing on Video
- 4.1 Template Matching cv2.matchTemplate, cv2.minMaxLoc
- 4.2 Corner Detection cv2.cornerHarris, cv2.goodFeaturesToTrack
- 4.3 Edge Detection cv2.Canny
- 4.4 Grid Detection cv2.findChessboardCorners, cv2.drawChessboardCorners, cv2.findCirclesGrid
- 4.5 Contour Detection cv2.findContours, cv2.drawContours
- 4.6 Feature Matching
- 4.7 Watershed Algorithm
- 4.8 Custom Seeds with Watershed Algorithm
- 4.9 Face Detection
- 6.1 Keras Basics
- 6.2 Keras CNN (MNIST)
- 6.3 Working with Custom Images
In order to play around with the notes, you can set up this repository locally following these simple steps.
Note that in order to avoid potential conflicts with other packages, it is strongly recommended to use a virtual environment or a conda environment.
- Clone the repo
git clone https://github.com/hasan-alper/opencv-notes.git
- Move inside your copy
cd opencv-notes
- Create a virtual environment
virtualenv [my_virtual_env_name]
- Active the virtual environment
source [my_virtual_env_name]/bin/activate
- Install necessary packages
pip install -r requirements.txt
- Clone the repo
git clone https://github.com/hasan-alper/opencv-notes.git
- Move inside your copy
cd opencv-notes
- Create a conda environment
conda create --name [my_conda_env_name]
- Active the conda environment
conda activate [my_conda_env_name]
- Install necessary packages
pip install -r requirements.txt
⚠️ For Apple silicon Macs, you must follow these steps instead:conda install -c apple tensorflow-deps
pip install -r requirements-apple-silicon.txt
Any contributions are greatly appreciated. Feel free to create a pull request to improve one or two things. You can also simply open an issue.
Distributed under the MIT License. See LICENSE for more information.