"Digital Image Processing-OpenCV/Python" Serialization (1) Preface

"Digital Image Processing-OpenCV/Python" Serialization (1) Preface


This book Jingdong preferential book purchase link: https://item.jd.com/14098452.html

insert image description here


writing background

The original intention of writing this book comes from the author's experience in learning digital image processing.

In the professional innovative education course offered by the innovative experimental class, I chose the direction of digital image processing. The textbook recommended to me by the teacher is "Digital Image Processing" by Gonzales. The beginning stages of learning are very difficult. The beginning of the textbook is the introduction and mathematical tools, which I understand half-understood, and it seems that it does not involve programming. The next chapters are grayscale transformation, spatial filtering and frequency domain filtering, which involve rich content and various methods. After trying to compile a few programs, I can't do it.

The teacher recommended the OpenCV software package and told me that this is the most popular computer vision software library, which implements and encapsulates various general algorithms for image processing. I quickly installed OpenCV, found a few more learning tutorials, and successfully ran the first routine. However, facing the explanation of dozens of algorithm functions in each module, I feel that my head is too big. Moreover, even though these algorithmic functions have descriptions and routines, they still know what they are and do not know why, and they cannot really understand and master them. Therefore, the study of OpenCV is also facing halfway.

This must be me being too picky. So looking back, I still honestly follow the knowledge system of digital image processing, and use OpenCV to program the problems in the course one by one. I set up a blog column [youcans' OpenCV routines] on the CSDN website, and organized the notes on learning OpenCV digital image processing into a blog post. So far, I have published more than 260 articles. Through study, I deeply understand: (1) Learning digital image processing must be inseparable from programming practice, otherwise it will be impossible to talk about it on paper. (2) To learn OpenCV, you still need to understand the knowledge system of digital image processing. Otherwise, you just know what it is and don’t know why. You are very happy at the beginning, but the more you go, the more confused you become, and you don’t even understand what you are doing.

I think digital image processing and OpenCV are like left and right hands, they complement each other and are mutually reinforcing. However, among the dozens of digital image processing textbooks and OpenCV books I have consulted, I found that these seem to be two schools, which are self-contained and distinct. Few books can integrate it, so that a rookie like me can get started easily and advance quickly. So, I decided to write a book by myself as a bridge between learning digital image processing and OpenCV.

This book is suitable for students who study digital image processing courses. This book can not only be used as a course reference, but also allow you to easily get started with OpenCV. This book is also suitable for beginners of OpenCV software. This book is easier and more convenient than the official documentation routines, and it will give you a deeper understanding of digital image processing. For readers who have a certain foundation in OpenCV, you can also use this book as a common function manual for OpenCV, and refer to it when needed.


Features of this book

(1) Rich examples and detailed notes.
This book includes about 180 OpenCV routines, and the routines are indexed. These routines not only comprehensively cover the basic functions of OpenCV, but also systematically introduce the content of the digital image processing course. All the routines are implemented in a simple and clear way as far as possible, and detailed annotations are made to facilitate readers' understanding and modification.
(2) Step by step and reasonable arrangement.
The structure of this book is different from similar books. It is based on the digital image processing knowledge system instead of the OpenCV module. It can better reflect the problem orientation and demand orientation, and it is also convenient for readers to learn and use according to the textbook. All chapters of this book are independent articles, and each routine is an independent program, avoiding mutual calls, avoiding the use of functions or content that have not been mentioned, which is convenient for readers to learn and use.
(3) Function manual, ready to use after learning.
This book introduces about 200 commonly used OpenCV functions, and compiled a function index.
It should be pointed out that since OpenCV is developed in C/C++ language, some interface definitions in Python language are special. In addition, OpenCV is open and developing, and the design specifications between different versions and modules are not completely unified. These two problems often confuse beginners, and they have no way to start when encountering program errors.
Different from official documents and existing books, the author has conducted a large number of tests on OpenCV functions. In this book, he focuses on explaining the format requirements and precautions of parameters in functions, and combines routines to help readers understand the special regulations of each function. .


main content

Based on OpenCV-Python software, this book introduces the basic methods and advanced applications of digital image processing. The book has 18 chapters and can be divided into four parts.

The first part is the basic operation of OpenCV, including Chapters 1-4.

  • Chapter 1 introduces how to read, save and display image files.
  • Chapter 2 introduces the data structure of images, and learns the basic methods of creating, copying, modifying, cropping, splitting, and merging images.
  • Chapter 3 introduces the basics of color images.
  • The 4th chapter introduces drawing and mouse interactive operation method.

The second part is the basic method of image processing, including chapters 5-9.

  • Chapter 5 introduces arithmetic operations on images, learning addition, subtraction, multiplication, division and bit operations.
  • Chapter 6 introduces geometric transformations of images, including affine transformations, projective transformations, and remapping methods.
  • The seventh chapter introduces the gray scale transformation technology of the image, and adjusts the dynamic range and contrast of the image.
  • Chapter 8 introduces histogram processing technology, which improves image quality by adjusting the histogram.
  • Chapter 9 introduces image thresholding methods.

The third part is an advanced method of image processing, including Chapters 10-13.

  • Chapter 10 introduces image convolution and spatial filtering to achieve image blurring and image sharpening.
  • Chapter 11 introduces Fourier transform and frequency domain filtering, and designs more abundant filters.
  • Chapter 12 introduces the basic operations, common algorithms and typical applications of morphological image processing.
  • Chapter 13 introduces coordinate transformation, Hough transform, Wrighten transform, image reconstruction and restoration of degraded images.

The fourth part is computer vision, including Chapters 14-18.

  • Chapter 14 introduces edge detection and image contours.
  • Chapter 15 introduces image segmentation techniques, including watershed algorithm, graph cut algorithm, and moving image segmentation.
  • Chapter 16 introduces feature description methods, including target boundary description, region feature description and key point descriptors.
  • Chapter 17 introduces feature detection and feature matching, including Harris, SIFT, SURF, FAST, ORB, MSER algorithms.
  • Chapter 18 introduces machine learning methods, including principal component analysis, k-means clustering, k-nearest neighbors, Bayesian classification, support vector machines, and artificial neural networks.

suggestions and feedback

As mentioned in the background of this book, I am just a beginner in digital image processing. Although I have received guidance and help from many teachers, and I have made great efforts to write a good book, due to limited ability and knowledge, there are bound to be many loopholes and flaws in the book. Readers are welcome to put forward their valuable opinions in order to improve and improve. If you have any comments and suggestions on this book, or if you encounter problems and need help, you can leave a message in the blog column [youcans’ OpenCV routines] for communication, or you can write to the author email [email protected] or the editor email zhangshuang @ptpress.com.cn, I will be very grateful.


thank you

Thanks to my teacher, Associate Professor Wang Fuping, he was my first teacher in learning digital image processing, and he always patiently answered every rookie question I had. Thanks to Teacher Yu Shiqi of the OpenCV China team, he not only gave valuable technical guidance, but also suggested and encouraged me to publish this book. Thanks to the CSDN website and teachers Zou Xin and Fan Feilong, who have always given me support and encouragement. Thanks to Mr. Zhang Shuang from Bowen Viewpoint, I have to write an article to record my growth process with this book, so as to express my gratitude.
What I need to thank most is the readers of CSDN, who have put forward a lot of criticisms and suggestions for my blog column. Your company and support are the motivation for me to finish writing this book.

This book Jingdong preferential book purchase link: https://item.jd.com/14098452.html


Copyright statement:
youcans@xupt Original works, reprints must be marked with the original link: (https://blog.csdn.net/youcans/article/details/132435636)
Copyright 2023 youcans, XUPT
Crated: 2023-08-22
Welcome to the column: Serialization of "Digital Image Processing-OpenCV/Python"

Guess you like

Origin blog.csdn.net/youcans/article/details/132435636