PDF Digital Image Processing With C++: Implementing Reference Algorithms With The CImg Library 1st Edition David Tschumperle Download
PDF Digital Image Processing With C++: Implementing Reference Algorithms With The CImg Library 1st Edition David Tschumperle Download
PDF Digital Image Processing With C++: Implementing Reference Algorithms With The CImg Library 1st Edition David Tschumperle Download
com
OR CLICK BUTTON
DOWLOAD NOW
More products digital (pdf, epub, mobi) instant
download maybe you interests ...
https://ebookmeta.com/product/digital-image-processing-with-
application-to-digital-cinema-1st-edition-ks-thyagarajan/
https://ebookmeta.com/product/digital-image-processing-4th-
edition-global-edition-rafael-c-gonzalez/
https://ebookmeta.com/product/digital-image-processing-using-
matlab-4th-edition-rafael-c-gonzalez/
https://ebookmeta.com/product/image-processing-with-imagej-
second-edition-jurjen-broeke/
Digital Image Processing 1st Edition A. Baskar
https://ebookmeta.com/product/digital-image-processing-1st-
edition-a-baskar/
https://ebookmeta.com/product/image-processing-masterclass-with-
python-50-solutions-and-techniques-1st-edition-dey/
https://ebookmeta.com/product/digital-image-processing-an-
algorithmic-introduction-3rd-edition-wilhelm-burger/
https://ebookmeta.com/product/mnemonics-for-radiologists-and-
frcr-2b-viva-preparation-a-systematic-approach-
aug-15-2013-_-1908911956-_-crc-press-1st-edition-yoong/
Digital Image Processing
with C++
Digital Image Processing with C++: Implementing Reference Algorithms with the Clmg Library
presents the theory of digital image processing and implementations of algorithms using a dedi-
cated library. Processing a digital image means transforming its content (denoising, stylizing,
etc.) or extracting information to solve a given problem (object recognition, measurement, mo-
tion estimation, etc.). This book presents the mathematical theories underlying digital image
processing as well as their practical implementation through examples of algorithms implement-
ed in the C++ language using the free and easy-to-use CImg library.
Chapters cover the field of digital image processing in a broad way and propose practical and
functional implementations of each method theoretically described. The main topics covered
include filtering in spatial and frequency domains, mathematical morphology, feature extraction
and applications to segmentation, motion estimation, multispectral image processing and 3D
visualization.
Students or developers wishing to discover or specialize in this discipline and teachers and re-
searchers hoping to quickly prototype new algorithms or develop courses will all find in this
book material to discover image processing or deepen their knowledge in this field.
David Tschumperlé is a permanent CNRS research scientist heading the IMAGE team at the
GREYC Laboratory in Caen, France. He’s particularly interested in partial differential equations
and variational methods for processing multi-valued images in a local or non-local way. He has
authored more than 40 papers in journals or conferences and is the project leader of CImg and
G’MIC, two open-source software/libraries.
David Tschumperlé
Christophe Tilmant
Vincent Barra
First edition published 2023
by CRC Press
6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-2742
Title of the original French edition, Le traitement numerique des images en C++. Implementation
d’algorithmes avec la bibliotheque CIMG- published by Ellipses - Copyright 2021, Edition Marketing S. A.
Reasonable efforts have been made to publish reliable data and information, but the author and publisher
cannot assume responsibility for the validity of all materials or the consequences of their use. The authors
and publishers have attempted to trace the copyright holders of all material reproduced in this publica-
tion and apologize to copyright holders if permission to publish in this form has not been obtained. If any
copyright material has not been acknowledged please write and let us know so we may rectify in any future
reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, trans-
mitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter
invented, including photocopying, microfilming, and recording, or in any information storage or retrieval
system, without written permission from the publishers.
For permission to photocopy or use material electronically from this work, access www.copyright.com or
contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-
8400. For works that are not available on CCC please contact mpkbookspermissions@tandf.co.uk
Trademark notice: Product or corporate names may be trademarks or registered trademarks and are used
only for identification and explanation without intent to infringe.
DOI: 10.1201/9781003323693
Publisher’s note: This book has been prepared from camera-ready copy provided by the author.
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
I I NTRODUCTION TO CImg
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4 Mathematical Morphology . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.1 Binary images 54
4.1.1 Dilation and erosion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.1.2 Opening and closing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2 Gray-level images 58
4.3 Some applications 59
4.3.1 Kramer-Bruckner filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3.2 Alternating sequential filters . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3.3 Morphological gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.4 Skeletonization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5 Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1 Spatial filtering 69
5.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1.2 Low-pass filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.1.3 High-pass filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.1.4 Adaptive filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.1.5 Adaptive window filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2 Recursive filtering 84
5.2.1 Optimal edge detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.2.2 Deriche filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.3 Frequency filtering 94
5.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.2 The Fourier transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.3.3 Frequency filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3.4 Processing a Moiré image . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.4 Diffusion filtering 110
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.4.2 Physical basis of diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.4.3 Linear diffusion filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Table of contents vii
7 Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
7.1 Edge-based approaches 151
7.1.1 Introduction to implicit active contours . . . . . . . . . . . . . . . . 151
7.1.2 Implicit representation of a contour . . . . . . . . . . . . . . . . . . . 156
7.1.3 Evolution equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
7.1.4 Discretization of the evolution equation . . . . . . . . . . . . . . . . 160
7.1.5 Geodesic model propagation algorithm . . . . . . . . . . . . . . . 161
7.2 Region-based approaches 163
7.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7.2.2 Histogram-based methods . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7.2.3 Thresholding by clustering . . . . . . . . . . . . . . . . . . . . . . . . . . 167
7.2.4 Transformation of regions . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
7.2.5 Super-pixels partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
viii Table of contents
10 3D Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.1 Structuring of 3D mesh objects 227
10.2 3D plot of a function z = f (x, y) 229
10.3 Creating complex 3D objects 233
10.3.1 Details on vertex structuring . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.3.2 Details on primitive structuring . . . . . . . . . . . . . . . . . . . . . . . 234
10.3.3 Details on material structuring . . . . . . . . . . . . . . . . . . . . . . . 235
10.3.4 Details on opacity structuring . . . . . . . . . . . . . . . . . . . . . . . . 235
10.4 Visualization of a cardiac segmentation in MRI 236
10.4.1 Description of the input data . . . . . . . . . . . . . . . . . . . . . . . . 236
10.4.2 Extraction of the 3D surface of the ventricle . . . . . . . . . . . . 237
10.4.3 Adding 3D motion vectors . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.4.4 Adding cutting planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
10.4.5 Final result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Table of contents ix
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Taylor & Francis
Taylor & Francis Group
http://taylorandfrancis.com
Preface
It is with great pleasure that I accepted to preface this book, which is the successful
outcome of several years of research and experience by a trio of authors who are
experts in digital image processing, combining both its theoretical aspects and its
software implementations.
After promising results, David continued his work in a PhD thesis, under my su-
pervision. And very quickly, it became obvious that we needed to develop a reference
C/C++ library to process images with more than three channels or volume images
with any values (matrices, tensors, . . . ) to develop our research work.
Through the implemented algorithms, tests, successes and failures, David grad-
ually built his own personal C++ library of reusable features, in order to complete
his thesis work. The originality of David’s research work, the need to optimize and
develop software that survives his PhD period and that is “reusable” by the members
of the team constitute in my opinion the basis of the CImg library’s genesis.
At the end of David’s thesis, the ease of use of CImg had already seduced the new
PhD students and permanent members of the team. At the end of 2003, we decided,
in agreement with Inria’s development department, to distribute CImg more widely
as free software, naturally using the new French free license CeCILL, which had just
been created jointly by Inria, CEA and CNRS.
More than 20 years after its first lines of code, CImg is now an image processing
library used by thousands of people around the world, at the heart of dozens of free
projects, and just as importantly, continuously and actively maintained.
At the origin of this remarkable success is, first of all, the nature and the quality of
the methodological work carried out throughout the doctoral program, as well as its
implementation guided by the development of processing algorithms that must work
on images of types and modalities from the field of computer vision (cameras, video,
velocity fields) as well as in the satellite or medical fields, in particular neuroimaging,
with magnetic resonance diffusion imaging and its well-known model called the diffu-
sion tensor.
This aspect of data genericity was very quickly a central element in the design and
success of the library. With a focus on simplicity of design and use, and a constant
and coherent development of the library API, the authors have clearly succeeded in
coupling ease of use with the genericity of the processing that the library allows. The
free distribution of the library has allowed the academic world, as well as the research
and industrial world, to discover the prototyping and implementation of efficient image
processing algorithms in a gentle and enjoyable way.
Preface xiii
For teachers, researchers, students or engineers, this book will provide you with
an introduction to the vast field of image processing, as well as an introduction to the
CImg library for the development of state-of-the-art algorithms.
This book is expected to spark new passions for image processing, e.g., for begin-
ners or more experienced C++ developers who are interested in getting started in this
discipline. But this book will also shed new light on the field of image processing for
users and readers interested in recent advances in artificial intelligence, deep learning,
and neural networks. You will learn, for example, that it is not necessary to have a
neural network with 500 million weights, nor a million training images, to extract
the edges of an image, to segment it, to detect geometric features as segments and
circles, or objects located in it, to estimate displacement vectors in video sequences,
etc. And even better, you will be able to study the implementations of corresponding
algorithms, disseminated and explained throughout this book, made with the CImg
library, while testing them on your own data.
Rachid Deriche
Sophia Antipolis, June 22, 2022.
Taylor & Francis
Taylor & Francis Group
http://taylorandfrancis.com
Another random document with
no related content on Scribd:
portes dou chastiel jewer.» Adonc s’avança li chevaliers
et dist à son varlet, qui estoit tous enfourmés
dou fait: «Va, mon varlet, va querir ce jeu des eschès
25 et le nous aporte à le porte.» Li varlès se parti:
li chastellains et li chevaliers entrèrent en le première
porte.
Quant li chevaliers fu ens, li [chastelains[305]] recloy le
porte et bouta avant le verial, sans refremer. Adonc
[92] dist messires Guillaumes: «Chastelains, ouvrés nous
ceste aultre porte, vous le poés bien ouvrir sans peril.»
Li chastellains ouvri tant seulement le guicet et
fist le chevalier passer oultre, pour moustrer les chaingles
5 dou chastiel; et il meismes passa ossi. Quant il
eurent là esté une espasse et que messires Guillames
avoit jà oy sonner ung petit cor, si com ordonné
l’avoit, si dist au chastellain: «Ralons, ralons oultre
ceste porte, mon varlet revenra tantost.» Adonc
10 rapassa li chevaliers le second guicet, et se tint tous
quois par devant. Li chastellains volt passer apriès,
qui nul mal n’i pensoit. Ensi que il avoit mis le piet
oultre et baissoit le tieste, messires Guillaumes de
Gauville entoise celle hace que il portoit desous son
15 mantiel, et fiert le chastellain en le tieste telement
que il le pourfent tout jusques ès dens et l’abat là
dou travers dou suel: ensi fu il mourdris que je vous
di, et puis vient à le première porte et le deffrume.
Li gaite dou chastiel avoit oy sonner le cornet dou
20 varlet, si com ci dessus est dit, et estoit durement
esmervilliés que ce pooit estre, car on avoit fait un
ban en le ville, que, sus le poing à perdre, on ne
sonast nul cornet; et encores fu il plus esmervilliés
quant il vei gens tous armés acourir vers le porte dou
25 chastiel. Si corna tantost: «Trahi! trahi!» Adonc
furent tantost tout esbahi, cil qui dedens le chastiel
estoient. Si avalèrent vers le porte et le trouvèrent
ouverte et le chastellain mort, couciet de travers, et
messire Guillaume de Gauville, le hace ou poing
30 d’autre part, qui gardoit l’entrée. Si furent plus esbahi
que devant, car ossi furent tantost venu cil qui
establi estoient pour aidier à parfurnir au dit chevalier
[93] sen emprise; et entrèrent en le porte et puis en le
seconde, et reboutèrent fierement les saudoiiers. Si
en y eut pluiseurs mors et occis, et pris desquelz c’on
volt.
5 Ensi fu reconquis li fors chastiaus d’Evrues par
l’emprise de monsigneur Guillaume de Gauville. Si
se rendirent tantost li chités et li ville ossi, et boutèrent
hors tous les François. Et mandèrent messire
Phelippe de Navare, qui estoit assés nouvellement retournés
10 d’Engleterre et arivés à Chierebourch, liquelz
fu tous joians de ces nouvelles et s’en vint bouter à
grant fuison de gens d’armes dedens Evrues, et en
fist sa souverainne garnison pour guerriier le bon
pays de Normendie. Et se tenoient avoecques lui messires
15 Robers Canolles, messires Jehans de Pipes, messires
Frikes de Frikans, le Bascle de Maruel, messires
Jehans Jeuiel, messires Fourdrigais et pluiseur aultre
appert hommes d’armes, qui depuis fisent maint
meschief ou royaume de France, si com vous orés en
20 avant [recorder[306]] en l’ystore.