O Custo da Abstração no OpenCV: Análise Quantitativa de Desempenho em C++, Java e Python
DOI:
https://doi.org/10.5753/reic.2026.7794Keywords:
Visão Computacional, Linguagens de Programação, Java, C , Cpp, C, Python, OpenCVAbstract
Este artigo investiga o "custo da abstração" no desenvolvimento de aplicações de visão computacional utilizando a biblioteca OpenCV, analisando o impacto da escolha da linguagem de programação no desempenho e na estabilidade do sistema. Por meio de experimentos quantitativos utilizando classificadores Haar Cascade, comparou-se a eficiência da implementação nativa em C++ contra ambientes gerenciados em Java e Python. Os resultados demonstram que a abstração impõe um custo mensurável, resultando em um acréscimo de latência entre 13% e 20% nas linguagens interpretadas e gerenciadas, além de maior variabilidade temporal. A análise estatística e os modelos de regressão evidenciam diferenças consistentes entre as linguagens avaliadas, tanto no crescimento da latência quanto na estabilidade temporal durante a execução. Os resultados reforçam a influência do nível de abstração sobre o desempenho de aplicações de visão computacional e contribuem com evidências quantitativas para avaliação comparativa do OpenCV em diferentes ambientes de execução. O estudo conclui fornecendo diretrizes para auxiliar na seleção da tecnologia levando em consideração o trade-off entre eficiência computacional e abstração de desenvolvimento.
Downloads
Referências
Ahmed, I., Ahmed, N., Batool, K., Mahmood, J., Fatima, E., and Arshad, P. (2026). Performance Comparison of C++, Java, and Python: A Comprehensive Analysis of Programming Languages. Springer. DOI: 10.1007/978-981-95-2212-5_24.
Bradski, G. (2000). The opencv library. Dr. Dobb’s Journal of Software Tools, 25(11):120–126. Disponível em: [link].
Hasan, R. T. H. and Sallow, A. B. (2021). Face detection and recognition using opencv. Journal of Soft Computing and Data Mining. DOI: 10.30880/jscdm.2021.02.02.008.
Iglovikov, V. (2025). Need for speed: A comprehensive benchmark of jpeg decoders in python. DOI: 10.48550/arXiv.2501.13131.
Kaehler, A. and Bradski, G. (2017). Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library. O’Reilly Media, Sebastopol. Disponível em: [link].
Lutz, M. and Ascher, D. (1999). Learning Python. O’Reilly Media.
Meyers, S. (2014). Effective Modern C++. O’Reilly Media.
Nanz, S. and Furia, C. A. (2015). A comparative study of programming languages in rosetta code. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, volume 1, pages 778–788. IEEE. DOI: 10.1109/ICSE.2015.90.
OpenCV Contributors (2025). [link].
Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J. P., and Saraiva, J. (2017). Energy efficiency across programming languages: How do energy, time, and memory relate? In Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, pages 256–267. DOI: 10.1145/3136014.3136031.
Prechelt, L. (2000). An empirical comparison of seven programming languages. Computer, 33(10):23–29. DOI: 10.1109/2.876288.
Ribas, E. R. L. D. (2025). Github - atom organization page. Disponível em: [link].
Schildt, H. (2019). Java: The Complete Reference, Eleventh Edition. McGraw-Hill Education.
SEBESTA, R. W. (2018). Conceitos de Linguagens de Programação. Bookman, 11th edition.
Šrajer, F., Kukelova, Z., and Fitzgibbon, A. (2018). A benchmark of selected algorithmic differentiation tools on some problems in computer vision and machine learning. Optimization Methods and Software. DOI: 10.1080/10556788.2018.1435651.
Szeliski, R. (2022). Computer Vision: Algorithms and Applications. Springer. DOI: 10.1007/978-3-030-34372-9.
TIOBE Software (2026). Tiobe index. Disponível em: [link].
Tukey, J. W. (1977). Exploratory Data Analysis, volume 2. Addison-Wesley.
Downloads
Published
Como Citar
Issue
Section
Licença
Copyright (c) 2026 Os autores

Este trabalho está licenciado sob uma licença Creative Commons Attribution 4.0 International License.
