A Modern C++ Point of View of Programming in Image Processing - Archive ouverte HAL
Pré-Publication, Document De Travail Année : 2022

A Modern C++ Point of View of Programming in Image Processing

Résumé

C++ is a multi-paradigm language that enables the programmer to set up efficient image processing algorithms easily. This language strength comes from many aspects. C++ is high-level, so this enables developing powerful abstractions and mixing different programming styles to ease the development. At the same time, C++ is low-level and can fully take advantage of the hardware to deliver the best performance. It is also very portable and highly compatible which allows algorithms to be called from high-level, fast-prototyping languages such as Python or Matlab. One of the most fundamental aspects where C++ really shines is generic programming. Generic programming makes it possible to develop and reuse bricks of software on objects (images) of different natures (types) without performance loss. Nevertheless, conciliating genericity, efficiency, and simplicity at the same time is not trivial. Modern C++ (post-2011) has brought new features that made it simpler and more powerful. In this paper, we will focus in particular on some C++20 aspects of generic programming: ranges, views, and concepts, and see how they extend to images to ease the development of generic image algorithms while lowering the computation time.
Fichier principal
Vignette du fichier
paper.compressed.pdf (747.47 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03564252 , version 1 (10-02-2022)

Identifiants

  • HAL Id : hal-03564252 , version 1

Citer

Michaël Roynard, Edwin Carlinet, Thierry Géraud. A Modern C++ Point of View of Programming in Image Processing. 2022. ⟨hal-03564252⟩
108 Consultations
3442 Téléchargements

Partager

More