O que é OpenCV e para que serve?
\n\nOpenCV (Open Source Computer Vision Library) é uma biblioteca multiplataforma de código aberto, destinada a tarefas de visão computacional e aprendizado de máquina. Ela fornece mais de 2500 algoritmos otimizados que cobrem praticamente todas as áreas da visão computacional: desde processamento simples de imagens (filtragem, transformações geométricas) até tarefas complexas (reconhecimento facial, rastreamento de objetos, reconstrução 3D, análise de vídeo).
\n\nA biblioteca é escrita em C++ e C, o que garante alto desempenho, e possui interfaces para Python, Java, MATLAB e outras linguagens. Neste guia, focaremos no uso do OpenCV especificamente com C++ — esta é a escolha ideal para sistemas de produção onde a velocidade de processamento e o gerenciamento eficiente de memória são críticos.
\n\nPara que serve o OpenCV?
\n- \n
- Processamento de imagens: redimensionamento, rotação, filtragem, melhoria de contraste, correção de cor. \n
- Análise de vídeo: leitura/gravação de vídeo, detecção de movimento, rastreamento de objetos. \n
- Reconhecimento de objetos: rostos, carros, texto (OCR), gestos. \n
- Calibração de câmeras: correção de distorções, visão estéreo. \n
- Aprendizado de máquina: classificadores integrados (SVM, KNN, Decision Trees) e integração com DNN (Deep Neural Networks) para trabalhar com modelos TensorFlow, Caffe, PyTorch. \n
Instalação do OpenCV para C++
\n\nAo contrário do Python, onde um único comando pip install opencv-python é suficiente, a instalação do OpenCV para C++ requer compilação ou o uso de pacotes binários prontos. Vamos considerar os principais métodos.
1. Instalação via gerenciador de pacotes (Linux/macOS)
\nUbuntu/Debian:
\nsudo apt update\nsudo apt install libopencv-dev\nmacOS (Homebrew):
\nbrew install opencv\n\n2. Instalação via vcpkg (Windows, Linux, macOS)
\nvcpkg é um gerenciador de pacotes multiplataforma da Microsoft. Primeiro, instale o vcpkg:
\ngit clone https://github.com/Microsoft/vcpkg.git\ncd vcpkg\n./bootstrap-vcpkg.sh # Linux/macOS\n.\\bootstrap-vcpkg.bat # Windows\nEm seguida, instale o OpenCV:
\n./vcpkg install opencv4\nApós a instalação, conecte a biblioteca no CMake:
\ncmake_minimum_required(VERSION 3.10)\nproject(MyOpenCVProject)\nfind_package(OpenCV REQUIRED)\nadd_executable(main main.cpp)\ntarget_link_libraries(main ${OpenCV_LIBS})\n\n3. Compilação a partir do código fonte (nível avançado)
\nEste método oferece controle máximo sobre os módulos incluídos e otimizações:
\ngit clone https://github.com/opencv/opencv.git\ncd opencv\nmkdir build && cd build\ncmake -D CMAKE_BUILD_TYPE=RELEASE \\\n -D CMAKE_INSTALL_PREFIX=/usr/local \\\n -D WITH_TBB=ON \\\n -D WITH_V4L=ON \\\n -D WITH_QT=ON \\\n -D WITH_OPENGL=ON ..\nmake -j$(nproc)\nsudo make install\n\nInício rápido: carregar e exibir uma imagem
\nVamos verificar se o OpenCV foi instalado corretamente escrevendo um programa simples que carrega uma imagem, a converte para tons de cinza e a exibe.
\n\n#include <opencv2/opencv.hpp>\n#include <iostream>\n\nint main() {\n // Carrega a imagem\n cv::Mat img = cv::imread("example.jpg");\n if (img.empty()) {\n std::cerr << "Falha ao carregar a imagem!" << std::endl;\n return -1;\n }\n\n // Converte para tons de cinza\n cv::Mat gray;\n cv::cvtColor(img, gray, cv::COLOR_BGR2GRAY);\n\n // Exibe ambas as imagens\n cv::imshow("Original", img);\n cv::imshow("Gray", gray);\n\n // Aguarda o pressionamento de uma tecla\n cv::waitKey(0);\n cv::destroyAllWindows();\n\n return 0;\n}
Também na biblioteca
Recommendations