Summary
Image processing is the task of analyzing and manipulating digital image files to create new versions of the images or to extract important data from them. These digital images are represented by tables of pixels, which are RGB values or, in essence, tuples of numbers. Therefore, digital images are simply multi-dimensional matrices of numbers, which results in the fact that image processing tasks typically come down to heavy number-crunching.
Since images can be analyzed and processed independently from each other in an image processing application, concurrent and parallel programming – specifically, multiprocessing – provides a way for us to make significant improvements to the execution time of the application. Additionally, there are several good practices to follow while implementing a concurrent image processing program.
We have seen how we can apply parallel programming to accelerate the task of image processing. The exercises in this chapter allowed...