ACCELERATING IMAGE PROCESSING USING PARALLEL COMPUTATIONS IN OPENMP: DEVELOPMENT AND PERFORMANCE ANALYSIS OF A GRAPHICS EDITOR

Authors

DOI:

https://doi.org/10.35546/kntu2078-4481.2024.3.26

Keywords:

graphics editor, parallel computing, OpenMP, Qt, image processing, performance optimization, C++.

Abstract

In today’s digital world, image processing plays a crucial role in various aspects of human life. From creating visual content for social media to analyzing medical images, powerful tools for image manipulation are in constant demand. The growing requirements for image quality and processing speed make the search for efficient methods to accelerate these processes highly relevant. This paper investigates the development and implementation of a graphics editor that utilizes OpenMP parallel computing to accelerate data processing. This technology enables the efficient distribution of computational tasks across multiple processor cores, significantly improving system performance. The developed software offers a set of popular graphic effects, including negative, grayscale, sepia, blur, sharpening, and posterization. Each effect is implemented in both sequential and parallel modes using OpenMP, allowing for the comparison of different computational approaches. To evaluate the effectiveness of the proposed solution, a series of experiments were conducted on images of various sizes. These experiments involved applying each effect to images ranging from small icons to high-quality photographs. A comparative analysis of the efficiency of sequential and parallel computation methods demonstrated the significant advantages of the latter. The results of the study show a substantial acceleration of image processing when using OpenMP technology. This acceleration is particularly noticeable for computationally intensive effects such as blurring or sharpening, and when working with large images. In some cases, it was possible to achieve a significant increase in processing speed, opening up new possibilities for working with large volumes of graphic data. This research has significant practical value for software developers working on optimizing the performance of graphics editors and other image processing applications. It demonstrates how the application of modern parallel computing technologies can significantly improve the efficiency of working with graphic data, paving the way for the creation of more powerful and faster image processing tools.

References

Ladkat, A. S., Date, A. A., & Inamdar, S. S. (2016, August). Development and comparison of serial and parallel image processing algorithms. In 2016 International Conference on Inventive Computation Technologies (ICICT). Vol. 2, pp. 1-4. IEEE. DOI: 10.1109/INVENTIVE.2016.7824894.

S. W. Song (2002) Models for Parallel and Distributed Computation. Applied Optimization. Vol.67, pp. 147-178. DOI: 10.1007/978-1-4757-3609-0_6.

Baumker, A., & Dittrich, W. (1996, April). Parallel algorithms for image processing: Practical algorithms with experiments. In Proceedings of International Conference on Parallel Processing. pp. 429-433. IEEE. DOI: 10.1109/IPPS.1996.508091

Haase, R., Royer, L. A., Steinbach, P., Schmidt, D., Dibrov, A., Schmidt, U., … & Myers, E. W. (2020). CLIJ: GPUaccelerated image processing for everyone. Nature methods, 17(1), pp. 5-6. DOI: 10.1038/s41592-019-0650-1

Myers, B. A., McDaniel, R. G., & Kosbie, D. S. (1993, May). Marquise: Creating complete user interfaces by demonstration. In Proceedings of the INTERACT’93 and CHI’93 Conference on Human Factors in Computing Systems. pp. 293-300. DOI: 10.1145/169059.16922

Del Turco, R. R. (2012). After the editing is done: Designing a Graphic User Interface for digital editions. Digital Medievalist, 7. DOI: DOI:10.16995/DM.30

Blanchette, J., & Summerfield, M. (2019). C++ GUI Programming with Qt 5: Create Amazing Applications with Qt. 2nd., Publishing House of Electronics Industry. 464 p.

Stroustrup, B. (2018). A Tour of C++ (2nd Edition). Addison-Wesley. 180 p. ISBN 978-0-13-499783-4.

Gonzalez, R. C., & Woods, R. E. (2018). Digital Image Processing (4th Edition). Pearson. 1168 p. ISBN 9780133356724.

Chapman, B., Jost, G., & Van Der Pas, R. (2008). Using OpenMP: Portable Shared Memory Parallel Programming. MIT Press. 384 p. ISBN: 9780262255905

Quinn, M. J. (2004). Parallel Programming in C with MPI and OpenMP. Dubuque, Iowa : McGraw-Hill Education, New York. 529 p.

Piccolino, M. (2018). “ Qt 5 Projects: Develop cross-platform applications with modern UIs using the powerful Qt framework. Packt Publishing. 360 p. ISBN 178829551X.

Downloads

Published

2024-11-26