Neste post, vou compartilhar como dar os primeiros passos com OpenCV, rapidamente, usando Visual Studio 2017 e VcPkg.
O que é OpenCV?
OpenCV (Open Source Computer Vision) é uma biblioteca open-source, cross-platform, destinada a suportar o desenvolvimento de aplicações que usam visão computacional. Originalmente, foi desenvolvida pela Intel e é livre para o uso (licença BSD).
O que é VcPkg?
Obter e referenciar bibliotecas nativas em Windows é parte crítica no processo de desenvolvimento de aplicações, e costuma ser um pesadelo. VcPkg é uma ferramenta para gestão de pacotes para VC++ que ajuda a obter e usar bibliotecas C e C++ no Windows.
NOTA: [tweet]Qualquer um que tenha desenvolvido aplicações em CPP sabe o quanto é tedioso o processo de gerenciar referências. VcPkg ajuda nessa atividade.[/tweet]
Baixando VcPkg e configurando o OpenCV no VS 2017
Se você deseja usar VcPkg (eu recomendo fortemente, se você quer usar C++ para desenvolver aplicações Windows), você precisará:
- Clonar o repositório do VcPkg no GitHub;
- Executar o processo de inicialização do VcPkg.
- Tornar todos os pacotes instalados disponíveis para todos os projetos VS.
Nada complexo demais.
git clone https://github.com/microsoft/vcpkg.git cd vcpkg bootstrap-vcpkg.bat vcpkg integrate install vcpkg install opencv
Primeiro programa com OpenCV
Com prontos para criar nossa aplicação usando OpenCV. Não há necessidade de qualquer configuração. Basta um simples #include .
#include <opencv2/opencv.hpp>
#include <iostream>
int main()
{
cv::namedWindow("raw", cv::WINDOW_AUTOSIZE);
cv::namedWindow("gray", cv::WINDOW_AUTOSIZE);
cv::namedWindow("canny", cv::WINDOW_AUTOSIZE);
cv::VideoCapture cap;
cap.open(0);
if (!cap.isOpened())
{
std::cerr << "Couldn't open capture." << std::endl;
return -1;
}
cv::UMat bgr_frame, gray, canny;
for (;;)
{
cap >> bgr_frame;
if (bgr_frame.empty()) break;
cv::imshow("raw", bgr_frame);
cv::cvtColor(bgr_frame, gray, cv::COLOR_BGR2GRAY);
cv::imshow("gray", gray);
cv::Canny(gray, canny, 10, 100, 3, true);
cv::imshow("canny", canny);
char c = cv::waitKey(10);
if (c == 27) break;
}
cap.release();
return 0;
}
Este código inicia a câmera, captura imagens, aplica alguns filtros e mostra os resultados em três janelas diferentes.
MUITO ÚTILL!! Depois de horas sofrendo com instalações que não davam certo seu post me ajudou muito!
o meu do problema na hora de dar o make do cmake 🙁