Este artigo tem como principal objetivo mostrar como se deve proceder para instalar o OpenCV, que é uma biblioteca multi plataforma para processamento de imagem, normalmente usado na área de Visão Computacional tanto no meio académico como comercial.
Um dos requisitos para a instalação desta biblioteca é que tenhamos o Visual Studio instalado, visto que este pequeno artigo demostra a instalação e configuração no Visual Studio.
Resumindo então todo o procedimento em passos:
1) Download do OpenCV
Basta aceder à página do link disponibilizado e fazer download da última versão. Quando efetuei este tutorial a versão em uso era a 2.4.3. Referir que a minha versão do Visual Studio é a 2010.
Link para download: http://opencv.org/downloads.html
2) Extração do Pacote OpenCV 2.4.3
Por defeito a extração é feita na localização do ficheiro executável (opencv243.exe), mas uma boa prática é criar uma pasta na raíz do seu disco e a questão fica arrumada. Visto que mais tarde poderia apagar ficheiros caso fize-se a extração noutro local e poderia perder as linkagens do seu projeto com os ficheiros do OpenCV.
Para tal basta então indicar o caminho no extrator, como mostra a seguinte imagem.
Colocamos também o nome da versão na pasta, visto que poderá já ter instalado alguma outra versão ou poderá vir a instalar e à partida sabe que já tem esta versão instalada.
3) Trocar os ficheiros de Diretório
Se verificarmos a raiz do nosso disco, temos então a pasta opencv243, mas dentro desta pasta temos uma pasta com o nome “opencv” criada por defeito pelo instalador. Para que aquando a criação dos nossos programas não estejamos a colocar caminhos demasiados longos copiamos todos os ficheiros da pasta opencv para o diretório anterior, eliminando assim esta diretoria. (Poupamos uma diretoria.)
Passos:
1) Entrar na diretoria “opencv”.
2) Selecionar todo o conteúdo e corta-lo.
3) Retroceder para o diretório anterior (“opencv243”) e colar o conteúdo.
4) eliminar a pasta “opencv” (PASSO 1).
3) Configurar Variáveis de Sistema
Neste passo vamos configurar as variáveis de sistema para o OpenCV.
Para tal basta executar os passos abaixo indicados.
Dando um clique nas “Variáveis de Sistema” uma pequena janela se abre.
Para criarmos a variável de sistema do OpenCV basta então clicar em “New” (novo) e indicar os seguintes parâmetros:
Variable name: OPENCV_BUILD
Variable value: C:opencv243build
O próximo passo é adicioná-la ao path de sistema.
Para tal no system variables basta localizar a variável “path” ou “Path”, clicar em editar e abre-se a janela como mostra a figura acima.
No campo “Variable Value” basta inserir o seguinte:
;%OPENCV_BUILD%x86vc10bin;
Nota: Caso a sua versão seja 64 basta trocar x86 por x64.
4) Criação/Configuração de um Projeto
Tendo então feita a linkagem das variáveis vamos ver como criamos e configuramos um projeto no Visual Studio 2010.
-Clicamos então em “Novo Projeto” e criamos um projeto “Win32 Console Application“.
Não esquecer de marcar o projeto como “empty”, como mostro na imagem a baixo.
Em seguida vamos configurar o nosso projeto, as suas linkagens e introdução do debuger do OpenCV.
Para tal basta aceder à janela ” Property Manager” do Visual Studio, ela costuma aparecer junto do “Solution Explorer”.
Caso ela não esteja visível podemos procurá-la no menu “View / Other Windows / Property Manager“.
Abrindo então este separador clicamos por cima da pasta “Debug | Win 32” e selecionamos a opção “Add New Project Property Sheet“.
Após o clique aparece a seguinte janela.
Editamos o seu nome e colocamos “OPENCV_DEBUG” e clicamos em “Add”.
Em seguida são criados uma série de componentes.
Vamos selecionar o componente “OPENCV_DEBUG” e clicar em “Properties” como mostro na seguinte figura.
Em seguida temos uma janela identica à seguinte e é aqui que criamos a linkagem entre o nosso projeto e o OPENCV.
Passos:
1) Clicamos no separador C/C++ e selecionamos na tela mais à direita “Additional Include Directories” e clicamos em editar.
Devemos introduzir então o seguinte caminho como mostrado.
$(OPENCV_BUILD)include
2)Em seguida vamos a “Linker/General” e selecionamos e editamos “Additional Library Directories“.
O caminho a especificar é o seguinte:
$(OPENCV_BUILD)x86vc10lib
Se o sistema é x64 deve indicar x64.
3)Em seguida no Linker temos de selecionar o “Input” e na tela à direita “Addicional Dependencies” e clicar em editar.
Aqui temos de colocar os nomes dos ficheiros do qual o projeto dependem.
Devemos então copiar e colar lá estes ficheiros:
opencv_core243d.lib
opencv_imgproc243d.lib
opencv_highgui243d.lib
opencv_ml243d.lib
opencv_video243d.lib
opencv_features2d243d.lib
opencv_calib3d243d.lib
opencv_objdetect243d.lib
opencv_contrib243d.lib
opencv_legacy243d.lib
opencv_flann243d.lib
4) Tendo isto, concluímos a configuração.
Agora criamos um ficheiro main.cpp e colamos lá o seguinte código abaixo fornecido para testar se o OpenCV ficou bem instalado na máquina.
Basta aceder ao “Solution Explorer/Source Files” e criar um cpp com o nome main.cpp.
Tendo isto basta colar lá o seguinte código já comentado por mim.
-
#include <opencvcv.h>
-
#include <opencvhighgui.h>
-
#include <stdlib.h>
-
#include <stdio.h>
-
using namespace cv;
-
using namespace std;
-
int main()
-
{
-
//criacao de uma matriz imagem
-
Mat image;
-
//criacao de um identificador de video
-
VideoCapture cap;
-
//abrir o identificador (webcam, definir 1 se for camera externa).
-
cap.open(0);
-
//criar janela de visualizacao
-
namedWindow(“window”,1);
-
//criar bloco iterativo para estar constantemente a receber a imagem
-
while(1)
-
{
-
//enviar a stream para a matriz imagem
-
cap>>image;
-
//mostra na tela
-
imshow(“window”,image);
-
waitKey(33);
-
}
-
return (0);
-
}

Pedro Tavares is a professional in the field of information security working as an Ethical Hacker/Pentester, Malware Researcher and also a Security Evangelist. He is also a founding member at CSIRT.UBI and Editor-in-Chief of the security computer blog seguranca-informatica.pt.
In recent years he has invested in the field of information security, exploring and analyzing a wide range of topics, such as pentesting (Kali Linux), malware, exploitation, hacking, IoT and security in Active Directory networks. He is also Freelance Writer (Infosec. Resources Institute and Cyber Defense Magazine) and developer of the 0xSI_f33d – a feed that compiles phishing and malware campaigns targeting Portuguese citizens.
Read more here.



















