COMPILANDO
OPENCV 3.0.0
André Moreira
Junho, 2014
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
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).
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.
ANTES DE
COMPILAR
Passo :
Baixar o código fonte
# Disponível em https://github.com/Itseez/opencv
# Opção 1: Download diretamente do website.
1
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 git@github.com:Itseez/opencv.git
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
# 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)
# 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
# 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
Minha Configuração:
COMPILANDO O PROJETO
# 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)
# Copie todas as .dll de {INSTALL_DIRECTORY} x64vc12bin para:
• C:WindowsSystem32 Se a biblioteca foi compilada em x64
• C:WindowsSysWOW64 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} x64vc12lib para
{VISUALSTUDIO_DIRECTORY}VClib (x86) ou {VISUALSTUDIO_DIRECTORY}VClibamd64
(x64)
# Copie as duas pastas que estão em {INSTALL_DIRECTORY} include para
{VISUALSTUDIO_DIRECTORY}VCinclude
PASSO :
Instalando a biblioteca
5
RODANDO OS EXEMPLOS
# Você podem rodar os exemplos que estão em {INSTALL_DIRECTORY}
x64vc12samples* e assim verificar se tudo funciona normalmente.
• Exemplo: executando o exemplo cppcpp-example-delaunay2.exe:
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:
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;
}
O Resultado:
Ref: http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/laplace_operator/laplace_operator.html
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: 9781782161486
Publisher: Packt Publishing
Publication date: 8/1/2014
Pages: 390

Compilando e Usando OpenCV v. 3.0.0

  • 1.
  • 2.
    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
  • 3.
    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).
  • 4.
    OBJETIVOS # Compilar oOpenCV com o Visual Studio 2013. # Executar um exemplo do OpenCV; # Linkar o OpenCV com um novo projeto em branco no Visual Studio 2013.
  • 5.
  • 6.
    Passo : Baixar ocódigo fonte # Disponível em https://github.com/Itseez/opencv # Opção 1: Download diretamente do website. 1
  • 7.
    Passo : Baixar ocó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 git@github.com:Itseez/opencv.git
  • 8.
    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
  • 9.
    # Instale oCmake • 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)
  • 10.
    # Selecione otipo 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
  • 11.
    # O cmakeirá 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
  • 12.
  • 13.
  • 14.
    # Vá paraa 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)
  • 15.
    # Copie todasas .dll de {INSTALL_DIRECTORY} x64vc12bin para: • C:WindowsSystem32 Se a biblioteca foi compilada em x64 • C:WindowsSysWOW64 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} x64vc12lib para {VISUALSTUDIO_DIRECTORY}VClib (x86) ou {VISUALSTUDIO_DIRECTORY}VClibamd64 (x64) # Copie as duas pastas que estão em {INSTALL_DIRECTORY} include para {VISUALSTUDIO_DIRECTORY}VCinclude PASSO : Instalando a biblioteca 5
  • 16.
    RODANDO OS EXEMPLOS #Você podem rodar os exemplos que estão em {INSTALL_DIRECTORY} x64vc12samples* e assim verificar se tudo funciona normalmente. • Exemplo: executando o exemplo cppcpp-example-delaunay2.exe:
  • 17.
    Linkando com abiblioteca # 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:
  • 18.
    Linkando com abiblioteca # 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; }
  • 19.
  • 20.
    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: 9781782161486 Publisher: Packt Publishing Publication date: 8/1/2014 Pages: 390