20
COMPILANDO OPENCV 3.0.0 André Moreira Junho, 2014

Compilando e Usando OpenCV v. 3.0.0

Embed Size (px)

DESCRIPTION

Guia de como buildar/compilar o OpenCV através do código disponibilizado no repositório oficial do projeto (github). O tutorial utiliza o Visual Studio, mas o processo pode ser adaptado para outras IDEs ou ambientes com poucas modificações. A versão do OpenCV utilizada é a 3.0.0 que encontra-se em desenvolvimento no momento em que este documento foi escrito (Junho de 2014).

Citation preview

Page 1: Compilando e Usando OpenCV v. 3.0.0

COMPILANDO OPENCV 3.0.0

André MoreiraJunho, 2014

Page 2: Compilando e Usando OpenCV v. 3.0.0

QUEM SOU EU...

# André de Souza Moreira;

# Mestando na PUC-RIO;

# Pesquisador no Instituto Tecgraf em Computação Gráfica;

# Antes: Pesquisador no NCA em Processamento de Imagens Médicas.

andredsm.com

Page 3: Compilando e Usando OpenCV v. 3.0.0

O que é OPENCV?# É uma biblioteca open source escrita em C++ para visão computacional;# Foi desenvolvida inicialmente pela Intel;# Existem diversos wrapers para outras linguagens como Python e Java;# Roda no Windows, Android, Linux, OS X e outros;# Oferece suporte à CUDA e OpenCL.# Sua última versão release é a 2.4.9, mas é possível utilizar a versão 3.0.0 que encontra-se

em desenvolvimento (Junho, 2014).

Page 4: Compilando e Usando OpenCV v. 3.0.0

OBJETIVOS# Compilar o OpenCV com o Visual Studio 2013.# Executar um exemplo do OpenCV;# Linkar o OpenCV com um novo projeto em branco no Visual Studio 2013.

Page 5: Compilando e Usando OpenCV v. 3.0.0

ANTES DECOMPILAR

Page 6: Compilando e Usando OpenCV v. 3.0.0

Passo :Baixar o código fonte# Disponível em https://github.com/Itseez/opencv

# Opção 1: Download diretamente do website.

1

Page 7: Compilando e Usando OpenCV v. 3.0.0

Passo :Baixar o código fonte# Option 2: Clone do repositório git:

# A vantagem desse método consiste na possibilidade de ter uma versão do código fonte sempre atualizada com a versão mais recente do github. Dessa forma é possível compilar a biblioteca sempre que houver uma nova feature ou algum bug for corrigido.

1

$ git clone [email protected]:Itseez/opencv.git

Page 8: Compilando e Usando OpenCV v. 3.0.0

Passo :Instalar Dependências# Existem diversas dependências que podem ser utilizadas na compilação do OpenCV, tais como: Qt, Python, Opengl, pdflatex para a geração da documentação, CUDA, OpenCL e outros.

# Por exemplo, você pode instalar o python 2.7.x e o numpy para buildar o wrapper do python e utilizar o OpenCV no python.

2

Page 9: Compilando e Usando OpenCV v. 3.0.0

# Instale o Cmake• Disponível em http://www.cmake.org/

# Abra o cmake-gui, indique o local onde o código do OpenCV encontra-se (1) e onde os arquivos resultantes do build serão gerados(2). Finalmente, clique no botão Configure (3).

Passo :Preparando o projeto:

3

(1)

(2)

(3)

Page 10: Compilando e Usando OpenCV v. 3.0.0

# Selecione o tipo de projeto que será gerado:• No nosso caso, escolha o Visual Studio 2013. (Sim, o Visual Studio 2013 é a opção

Visual Studio 12!) :P

Passo :Preparando o projeto:

3

Page 11: Compilando e Usando OpenCV v. 3.0.0

# O cmake irá mostrar algumas opções de build, entre elas:• BUILD: selecione os módulos e extensões que serão utilizados na compilação.• WITH: pode-se habilitar o uso de outras tecnologias, tal como CUDA.• INSTALL: quais arquivos irão ser movidos para o diretório de instalação.• CMAKE/CMAKE_INSTAL_PREFIX: Selecione o diretório padrão onde a

biblioteca será instalada.

# Após escolher as opções acima, clique no botão

Configure novamente. Se tudo estiver OK, todos

os campos que estavam vermelho irão aparecer

com o fundo branco.

# Por último, clique no botão Generate.

Passo :Preparando o projeto:

3

Page 12: Compilando e Usando OpenCV v. 3.0.0

Minha Configuração:

Page 13: Compilando e Usando OpenCV v. 3.0.0

COMPILANDO O PROJETO

Page 14: Compilando e Usando OpenCV v. 3.0.0

# Vá para a pasta de build e abra o arquivo de solução do Visual Studio (Opencv.sln).# Selecione a versão da biblioteca a ser compilada (Debug ou Release, x86 ou x64) (1) e

depois compile o projeto ALL_BUILD (2). (Essa etapa irá compilar todos os projetos exibidos no Solution Explorer).

# Se nenhum erro acontecer, compile o projeto INSTALL.

Passo :Compilando o projeto

4

(1)

(2)

(3)

Page 15: Compilando e Usando OpenCV v. 3.0.0

# Copie todas as .dll de {INSTALL_DIRECTORY} \x64\vc12\bin para:• C:\Windows\System32 Se a biblioteca foi compilada em x64• C:\Windows\SysWOW64 Se a biblioteca foi compilada em x86

# Nesse ponto, você já pode rodar qualquer um dos exemplos do OpenCV e estes devem funcionar sem apresentar erros.

# Copie todos os arquivos de {INSTALL_DIRECTORY} \x64\vc12\lib para {VISUALSTUDIO_DIRECTORY}\VC\lib (x86) ou {VISUALSTUDIO_DIRECTORY}\VC\lib\amd64 (x64)

# Copie as duas pastas que estão em {INSTALL_DIRECTORY} \include para {VISUALSTUDIO_DIRECTORY}\VC\include

PASSO :Instalando a biblioteca

5

Page 16: Compilando e Usando OpenCV v. 3.0.0

RODANDO OS EXEMPLOS# Você podem rodar os exemplos que estão em {INSTALL_DIRECTORY} \x64\vc12\samples\

* e assim verificar se tudo funciona normalmente.• Exemplo: executando o exemplo cpp\cpp-example-delaunay2.exe:

Page 17: Compilando e Usando OpenCV v. 3.0.0

Linkando com a biblioteca# Crie um novo projeto no Visual Studio 2013. (Ctrl + Shift + N);# Vá em DEBUG -> {projectName} Properties. (Alt + F7);# Em Linker > Input > Additional Dependecies, liste o nome dos módulos que você precisa

no seu projeto:• Exemplo:

Page 18: Compilando e Usando OpenCV v. 3.0.0

Linkando com a biblioteca# Crie um arquivo .cpp (CTRL+SHIFT+A) e execute-o (CTRL+F5):

#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/opencv.hpp>#include <stdlib.h>#include <stdio.h>

using namespace cv;

/** @function main */int main(int argc, char** argv){ Mat src, src_gray, dst; int kernel_size = 3; int scale = 1; int delta = 0; int ddepth = CV_16S; char* window_name = "Laplace Demo";

/// Load your image src = imread("myImage.jpg");

if (!src.data) { return -1; }

/// Remove noise by blurring with a Gaussian filter GaussianBlur(src, src, Size(3, 3), 0, 0, BORDER_DEFAULT);

/// Convert the image to grayscale cvtColor(src, src_gray, COLOR_RGB2GRAY);

/// Create window namedWindow(window_name, WINDOW_AUTOSIZE);

/// Apply Laplace function Mat abs_dst;

Laplacian(src_gray, dst, ddepth, kernel_size, scale, delta, BORDER_DEFAULT); convertScaleAbs(dst, abs_dst);

/// Show what you got imshow(window_name, abs_dst);

waitKey(0);

return 0;}

Page 19: Compilando e Usando OpenCV v. 3.0.0

O Resultado:

Ref: http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/laplace_operator/laplace_operator.html

Page 20: Compilando e Usando OpenCV v. 3.0.0

Precisa de ajuda?# Documentação Oficial:

• http://www.teste.com

# Comunidade do Stackoverflow:• http://stackoverflow.com/questions/tagged/opencv

# Guia de instalação do OpenCV:• http://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html

# Por fim, este ótimo livro: ;)

OpenCV Computer Vision Application Programming Cookbook (2nd Edition), Robert Laganiere.

ISBN-13: 9781782161486Publisher: Packt PublishingPublication date: 8/1/2014Pages: 390