An Image Processing Library in Modern C++: Getting Simplicity and Efficiency with Generic Programming

Published: 01 Jan 2018, Last Modified: 04 Mar 2025RRPR 2018EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: As there are as many clients as many usages of an Image Processing library, each one may expect different services from it. Some clients may look for efficient and production-quality algorithms, some may look for a large tool set, while others may look for extensibility and genericity to inter-operate with their own code base...but in most cases, they want a simple-to-use and stable product. For a C++ Image Processing library designer, it is difficult to conciliate genericity, efficiency and simplicity at the same time. Modern C++ (post 2011) brings new features for library developers that will help designing a software solution combining those three points. In this paper, we develop a method using these facilities to abstract the library components and augment the genericity of the algorithms. Furthermore, this method is not specific to image processing; it can be applied to any C++ scientific library.
Loading