- OpenCV 4 with Python Blueprints
- Dr. Menua Gevorgyan Arsen Mamikonyan Michael Beyeler
- 351字
- 2021-06-24 16:49:56
Fun with Filters
The goal of this chapter is to develop a number of image processing filters and then apply them to the video stream of a webcam in real time. These filters will rely on various OpenCV functions to manipulate matrices through splitting, merging, arithmetic operations, and applying lookup tables for complex functions.
We will cover the following three effects, which will help familiarize you with OpenCV, and we will build on these effects in future chapters of this book:
- Warming and cooling filters: We will implement our own curve filters using a lookup table.
- Black-and-white pencil sketch: We will make use of two image-blending techniques, known as dodging and burning.
- Cartoonizer: We will combine a bilateral filter, a median filter, and adaptive thresholding.
OpenCV is an advanced toolchain. It often raises the question, that is, not how to implement something from scratch, but which precanned implementation to choose for your needs. Generating complex effects is not hard if you have a lot of computing resources to spare. The challenge usually lies in finding an approach that not only gets the job done but also gets it done in time.
Instead of teaching the basic concepts of image manipulation through theoretical lessons, we will take a practical approach and develop a single end-to-end app that integrates a number of image filtering techniques. We will apply our theoretical knowledge to arrive at a solution that not only works but also speeds up seemingly complex effects so that a laptop can produce them in real time.
In this chapter, you will learn how to do the following using OpenCV:
- Creating a black-and-white pencil sketch
- Applying pencil sketch transformation
- Generating a warming and cooling filter
- Cartoonizing an image
- Putting it all together
Learning this will allow you to familiarize yourself with loading images into OpenCV and applying different transformations to those images using OpenCV. This chapter will help you learn the basics of how OpenCV operates, so we can focus on the internals of the algorithms in the following chapters.
Now, let's take a look at how to get everything up and running.
- 動手玩轉Scratch3.0編程:人工智能科創(chuàng)教育指南
- Web Development with Django Cookbook
- Instant 960 Grid System
- 匯編語言程序設計(第2版)
- UI智能化與前端智能化:工程技術、實現(xiàn)方法與編程思想
- Hands-On Functional Programming with TypeScript
- 程序是怎樣跑起來的(第3版)
- WebRTC技術詳解:從0到1構建多人視頻會議系統(tǒng)
- PySide 6/PyQt 6快速開發(fā)與實戰(zhàn)
- Java語言程序設計教程
- Android應用開發(fā)實戰(zhàn)
- Illustrator CS6中文版應用教程(第二版)
- Kotlin入門與實戰(zhàn)
- Server Side development with Node.js and Koa.js Quick Start Guide
- 面向對象程序設計教程(C#版)