Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Learn Practical Approach To Opencv Using Kotlin

Posted By: ELK1nG
Learn Practical Approach To Opencv Using Kotlin

Learn Practical Approach To Opencv Using Kotlin
Published 8/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 14.23 GB | Duration: 26h 29m

Less theory but more code to build complex OpenCV applications

What you'll learn

Become proficient enough to do complex opencv operation on the image

Able to understand and use core API of the OpenCV library

Apply image processing concepts to create better image using OpenCV

Sharing OpenCV code across different platform as library dependency

Learn TDD and clean coding approach in OpenCV application

Applying design pattern to known coding problems while building apps

Practical examples of the commonly used features in popular apps mobile or desktop

Developing complex feature in Android app that uses OpenCV

Requirements

Object Oriented Programming knowledge

Understanding of Kotlin or Java program code

Laptop

Opencv library

Android phone (Optional) for some project

Basic knowledge of Algebra and Geometry

Description

OpenCV is a widely used library for developing complex applications on various devices like Mobile, Desktop, Raspberry Pi, backend applications, etc.There are many courses and books available that provide a good theoretical understanding of image processing concepts. If you are someone who has no understanding of image processing, I would suggest you take some basic level course or book to gain a high-level understanding to better understand this course.This course is primarily designed for someone who wants to see the power of the OpenCV library and also to learn by coding. In this course, we will first learn the basic concept and later implement the code to visually understand the same using code.If you are a beginner or intermediate-level learner, you will learn a lot for sure. There are many skills you will learn as you progress with the course. Skills like TDD, clean coding, identifying the problem, and using appropriate design patterns to simplify the code which is something many developers in big MNCs give very less emphasis on.If you are an expert-level learner, It will be a refreshing course for you.In this course, we have covered complex-level application that uses the advanced-level concept to achieve interesting results.Happy learning !!

Overview

Section 1: Introduction to the course

Lecture 1 Introduction to course - 1

Lecture 2 Introduction to course - 2

Lecture 3 Requirement to develop in this course

Section 2: Setup your machine for OpenCV

Lecture 4 Project: GitHub project link for the course

Lecture 5 Windows: OpenCV installation - 1

Lecture 6 Windows: OpenCV installation - 2

Lecture 7 Windows: OpenCV installation - 3

Lecture 8 Linux: OpenCV installation from official documentation

Lecture 9 Linux: OpenCV installation - 1

Lecture 10 Linux: OpenCV installation - 2

Lecture 11 Mac: OpenCV installation

Lecture 12 Project: Modification in build.gralde file of the project

Lecture 13 Project: Take checkout of the project and start playing on it

Section 3: Image Filters

Lecture 14 Introduction

Lecture 15 Negative: change image to negative image - 1

Lecture 16 Negative: change image to negative image - 2

Lecture 17 Negative: change image to negative image - 3

Lecture 18 Thresholding: Introduction of Threshold API

Lecture 19 Thresholding: Binary Thresholding (convert image to black and white)

Lecture 20 Thresholding: OTSU thresholding (convert image to black and white)

Lecture 21 Thresholding: Fixing image for thresholding

Lecture 22 Thresholding: trying different parameters and code refactoring

Lecture 23 Grayscale Filter

Lecture 24 Denoising: FastNL Mean Denoise API (remove noise from image) - 1

Lecture 25 Denoising: FastNL Mean Denoise API (remove noise from image) - 2

Lecture 26 Denoising: FastNL Mean Denoise API (remove noise from image) - 3

Lecture 27 Sharpening: difference between gaussian blur and Laplacian filter - 1

Lecture 28 Sharpening: implementation using Laplacian filter - 2

Lecture 29 Sharpening: sharpen color image using Laplacian and Gaussian in YUV - 3.1

Lecture 30 Sharpening: sharpen color image using Laplacian and Gaussian in YUV - 3.2

Lecture 31 Sharpening: Code refactoring - 5

Lecture 32 Smoothing: Introduction

Lecture 33 Smoothing: Gaussian filter implementation

Lecture 34 Smoothing: Bilateral filter implementation

Lecture 35 Smoothing: smoothing to specific region in the image

Lecture 36 Smoothing: Test code refactoring

Lecture 37 Crisper Image: Intro to unsharp masking

Lecture 38 Crisper Image: unsharp masking implementation

Lecture 39 Section Summary

Section 4: Image Transformations

Lecture 40 Introduction of Transformations

Lecture 41 Rotation: Introduction of rotation API

Lecture 42 Rotation: Implementation of rotation

Lecture 43 Rotation: Refactoring code

Lecture 44 Rotation: Understanding rotation matrix 2d and warp affine

Lecture 45 Rotation: Enhancement of rotation code for any angle rotation

Lecture 46 Scaling: Understanding scaling transformation

Lecture 47 Scaling: Scaleing up image using inter_linear and inter cubic

Lecture 48 Scaling: Scaling down

Lecture 49 Scaling: scaling differently in x and y direction

Lecture 50 Translation: Understanding translation

Lecture 51 Translation: Implementation of translation

Lecture 52 Perspective: Understanding perspective transformation

Lecture 53 Perspective: Implementation of perspective transformation

Lecture 54 Perspective: Refactoring and enhancing perspective transform

Lecture 55 Section Summary

Section 5: Contrast Enhancements

Lecture 56 Histogram: Introduction to histogram equalization

Lecture 57 Histogram: Histogram equalization for gray image

Lecture 58 Histogram: Histogram equalization for color image

Lecture 59 Gamma Correction: Introduction

Lecture 60 Gamma Correction: Gamma correction implementation grayscale image - 1

Lecture 61 Gamma Correction: Gamma correction implementation grayscale image - 2

Lecture 62 Gamma Correction: Gamma correction on color image

Lecture 63 Adaptive Histogram: Histogram CLAHE introduction

Lecture 64 Adaptive Histogram: Applying Histogram CLAHE on grayscale image

Lecture 65 Adaptive Histogram: Applying Histogram CLAHE on color image

Lecture 66 Saturation correction: Adjusting Contrast and brightness

Lecture 67 Saturation correction: Applying on gray and color image

Lecture 68 Comparison of different algorithms: Introduction

Lecture 69 Comparison of different algorithms with imadjust algorithm (from matlab)

Lecture 70 Custom enhancement: Introduction

Lecture 71 Custom enhancement: algorithm explaination

Lecture 72 Custom enhancement: imadjust for gray image implementation

Lecture 73 Custom enhancement: code refactoring

Lecture 74 Custom enhancement: Add test for color image before coding

Lecture 75 Custom enhancement: 4. run test 1 continue and implement for color image

Lecture 76 Custom enhancement: Refactoring and testing color image

Lecture 77 Section Summary

Section 6: Text and Complex Operations

Lecture 78 Introduction

Lecture 79 Text Operation: Add text task to do

Lecture 80 Text Operation: OpenCV documentation walkthrough

Lecture 81 Text Operation: add text to image

Lecture 82 Text Operation: add rectangle enclosing text

Lecture 83 Text Operation: add rotated text in image

Lecture 84 Text Operation: fix text intensity issue for rotated text added

Lecture 85 Advanced Text Operation: explanation of refactored code

Lecture 86 Advanced Text Operation: Implementation for add text with perspective transform

Lecture 87 Advanced Text Operation: refactoring code

Lecture 88 Section Summary

Section 7: [Advanced] Building image editor application using learnt concepts

Lecture 89 Intro

Lecture 90 design explanation

Lecture 91 Snapshot(memento design pattern)

Lecture 92 Command (command design pattern)

Lecture 93 Code refactoring

Lecture 94 Implementation - editor and state manager - 1

Lecture 95 Implementation - editor and state manager - 2

Lecture 96 Implementation - editor and state manager - 3

Lecture 97 Implementation - editor and state manager - 4

Lecture 98 Implementaion of snapshot class

Lecture 99 Implementation editor and backup manager - 1

Lecture 100 Implementation editor and backup manager - 2

Lecture 101 Implementation editor and backup manager - 3

Lecture 102 Implementation editor and backup manager - 4

Lecture 103 Implementation editor and client: Introduction

Lecture 104 Implementation editor and client: 1

Lecture 105 Implementation editor and client: 2

Lecture 106 Implementation editor and client: 3

Lecture 107 Implementation editor and client: 4

Lecture 108 Implementation editor and client: 5

Lecture 109 Refactoring code: 1

Lecture 110 Refactoring code: 2

Lecture 111 Refactoring code: 3

Lecture 112 Section Summary

Section 8: Publishing image editor code as library

Lecture 113 Introduction

Lecture 114 add publishing and publish manually

Lecture 115 fix publishing issue

Lecture 116 access the published library in different project

Lecture 117 recap of what done and how to test

Lecture 118 add GitHub action for publishing package - 1

Lecture 119 add GitHub action for publishing package - 2

Lecture 120 refactor Gradle build and library publish workflow

Lecture 121 fix workflow issue

Lecture 122 add caching 1

Lecture 123 add caching 2

Lecture 124 successful running of publish library workflow

Lecture 125 add CI test pipeline

Lecture 126 recap and summary

Section 9: [Advanced] Building document scanner app for Android using our library

Lecture 127 Android app introduction

Lecture 128 Android Project setup

Lecture 129 Steps to import OpenCV SDK

Lecture 130 Code review and fix dependency issue

Lecture 131 Code walkthrough

Lecture 132 summary

Section 10: [Advanced] [Extra] Automatic document detection in image

Lecture 133 Intro to auto detection feature

Lecture 134 Algorithm walkthrough

Lecture 135 Understanding each step using OpenCV API

Lecture 136 Detect region of interest code walkthrough

Lecture 137 summary

Section 11: Wrap up

Lecture 138 Ending note

Someone who has an interest in learning about Image processing.,Someone who wants to explore the power of the OpenCV library.,Someone who wants to learn and build OpenCV complex functions.