Cria o de imagens e v deos 3d com opencv
This presentation is the property of its rightful owner.
Sponsored Links
1 / 52

Criação de imagens e vídeos 3D com OpenCV PowerPoint PPT Presentation


  • 69 Views
  • Uploaded on
  • Presentation posted in: General

Criação de imagens e vídeos 3D com OpenCV. Matheus Ricardo Uihara Zingarelli([email protected]). Apresentação. Interesse da turma Conhecimento Técnico. Página de desambiguação. O que esperam aprender?. Página de desambiguação. O que esperam aprender?. Página de desambiguação.

Download Presentation

Criação de imagens e vídeos 3D com OpenCV

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cria o de imagens e v deos 3d com opencv

Criação de imagens e vídeos 3D com OpenCV

Matheus Ricardo Uihara Zingarelli([email protected])


Apresenta o

Apresentação

Interesse da turma

Conhecimento Técnico


P gina de desambigua o

Página de desambiguação

O que esperam aprender?


P gina de desambigua o1

Página de desambiguação

O que esperam aprender?


P gina de desambigua o2

Página de desambiguação

O que esperam aprender?


P gina de desambigua o3

Página de desambiguação

?

O que esperam aprender?


P gina de desambigua o4

Página de desambiguação

O que esperam aprender?


P gina de desambigua o5

Página de desambiguação

O que esperam aprender?


Agenda

Agenda

OpenCV 101

Imagens: funções básicas

Fundamentos 3D estereoscópico

Criação de imagem 3D anaglífico

Vídeos: funções básicas

Criação de vídeo 3D anaglífico

Material de referência


Opencv 101

Começando…

OpenCV 101


Opencv

OpenCV

Material baseado no Livro de Bradski & Kaehler


Opencv1

OpenCV

O que é?

Para que serve?

Quem utiliza?

Como programo?


Opencv2

OpenCV

O que é?

“OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.” (OpenCV Wiki)

Para que serve?

Quem utiliza?

Como programo?


Opencv o que

OpenCV – O queé?

Milhares de algoritmos otimizados visando eficiência

Rapidez na criação de aplicações de visão computacional → reuso

Origem nos laboratórios da Intel

Open Sourcesob a licença BSD


Opencv3

OpenCV

  • O que é?

  • Para que serve?

    • Muita coisa

      • Processamento de imagens, calibração de câmeras, monitoramento, rastreamento, reconhecimento facial/gestos, análise de imagens médicas, segmentação, Kinect, ...

  • Quem utiliza?

  • Como programo?


Opencv4

OpenCV

Objeto de interesse para o minicurso

  • O que é?

  • Para que serve?

    • Muita coisa

      • Processamento de imagens, calibração de câmeras, monitoramento, rastreamento, reconhecimento facial/gestos, análise de imagens médicas, segmentação, Kinect, ...

  • Quem utiliza?

  • Como programo?


Opencv para que serve

OpenCV – Para que serve?

Algumas funções do OpenCV (OpenCV - Wiki)


Opencv5

OpenCV

  • O que é?

  • Para que serve?

  • Quem utiliza?

    • Muitas empresas

      • Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota, Applied Minds, VideoSurf, Zeitera,…

    • Governos

      • Green Dam da China

        “The purported intent of the Green Dam software is to filter harmful online text and image content in order to prevent the effects of this information on youth and promote a healthy and harmonious Internet environment”

        (OpenNetBulletin)

  • Como programo?


Opencv6

OpenCV

  • O que é?

  • Para que serve?

  • Quem utiliza?

  • Como programo?

    • C, C++, Python

    • Em desenvolvimento: Java, Ruby, Matlab e outros times paralelos

    • Windows, Linux, Android, Mac


Opencv como programo

OpenCV – Como Programo?

  • Download do OpenCV

    • http://sourceforge.net/projects/opencvlibrary

  • Wiki

    • Guias para compilar/instalar

  • Documentação (http://opencv.itseez.com/)

    • Referência para funções

  • Livros

  • Instalação para o minicurso

    • OpenCV 2.1

    • Codeblocks 10.05

    • Tutorial utilizado


Checkpoint

Dúvidasaté aqui?

Checkpoint


Imagens fun es b sicas

Mão na massa

Imagens: funções básicas


Opera es

Operações

Abrir imagem

Ler imagem

Processamento

Criar imagem


Highgui

HighGUI

  • Toolkit para funções de user interface

    • Estrutura para trabalhar com imagens e vídeos

    • Criação de janelas, sliders, botões

    • Tratamento de eventos de mouse, teclado

      include “highgui.h”


Cvloadimage

cvLoadImage()

Nome do arquivocom extensão

CV_LOAD_IMAGE_COLOR = colorida

CV_LOAD_IMAGE_GRAYSCALE = tons de cinza

  • Função para abrir imagens em disco

  • Aloca memória e armazena a imagem em uma estrutura apropriada

  • BMP, DIB, JPEG, JPE, PNG, PBM, PGM, PPM, SR, RAS e TIFF → não suporta gif!

    IplImage* cvLoadImage(

    const char* filename,

    intiscolor= CV_LOAD_IMAGE_COLOR

    );


Cvnamedwindow

cvNamedWindow()

Nome da janela. Usado como handler para operações na janela

CV_WINDOW_AUTOSIZE = janela do tamanho da imagem

0 = permite que usuário redefina o tamanho da janela

  • Cria janela para mostrar imagens

    intcvNamedWindow(

    const char* name,

    intflags = CV_WINDOW_AUTOSIZE

    );


Cvshowimage

cvShowImage()

Handler da janela

Nome da variável que aponta para a imagem carregada em cvLoadImage()

  • Ligação entre a imagem e a janela

    voidcvShowImage(

    const char* name,

    constCvArr* image

    );


Cvwaitkey

cvWaitKey()

Tempo de espera em ms. Default 0 aguarda para sempre

  • Aguarda interação do usuário com o teclado

    intcvWaitKey(

    intdelay = 0

    );


Limpeza

Limpeza

  • Liberação dos ponteiros que carregaram as estruturas

    voidcvReleaseImage( IplImage** img );

    voidcvDestroyWindow( const char* name );


Opera es1

Operações

Abrir imagem

Ler imagem

Processamento

Criar imagem


Checkpoint1

Dúvidas até aqui?

Checkpoint


Iplimage

IplImage

  • Estrutura para tratamento de imagens

    typedefstruct_IplImage {

    intnSize;

    int ID;

    intnChannels;

    intalphaChannel;

    intdepth;

    charcolorModel[4];

    charchannelSeq[4];

    intdataOrder;

    intorigin;

    intalign;

    intwidth;

    intheight;

    struct_IplROI* roi;

    struct_IplImage* maskROI;

    void* imageId;

    struct_IplTileInfo* tileInfo;

    intimageSize;

    char* imageData;

    intwidthStep;

    intBorderMode[4];

    intBorderConst[4];

    char* imageDataOrigin;

    } IplImage;


Iplimage1

IplImage

Número de canais

  • Estrutura para tratamento de imagens

    typedefstruct_IplImage {

    intnSize;

    int ID;

    intnChannels;

    intalphaChannel;

    intdepth;

    charcolorModel[4];

    charchannelSeq[4];

    intdataOrder;

    intorigin;

    intalign;

    intwidth;

    intheight;

    struct_IplROI* roi;

    struct_IplImage* maskROI;

    void* imageId;

    struct_IplTileInfo* tileInfo;

    intimageSize;

    char* imageData;

    intwidthStep;

    intBorderMode[4];

    intBorderConst[4];

    char* imageDataOrigin;

    } IplImage;


Iplimage2

IplImage

Profundidade do pixel (bits)

  • Estrutura para tratamento de imagens

    typedefstruct_IplImage {

    intnSize;

    int ID;

    intnChannels;

    intalphaChannel;

    intdepth;

    charcolorModel[4];

    charchannelSeq[4];

    intdataOrder;

    intorigin;

    intalign;

    intwidth;

    intheight;

    struct_IplROI* roi;

    struct_IplImage* maskROI;

    void* imageId;

    struct_IplTileInfo* tileInfo;

    intimageSize;

    char* imageData;

    intwidthStep;

    intBorderMode[4];

    intBorderConst[4];

    char* imageDataOrigin;

    } IplImage;


Iplimage3

IplImage

Ponteiro para a primeira linha de dados da imagem

  • Estrutura para tratamento de imagens

    typedefstruct_IplImage {

    intnSize;

    int ID;

    intnChannels;

    intalphaChannel;

    intdepth;

    charcolorModel[4];

    charchannelSeq[4];

    intdataOrder;

    intorigin;

    intalign;

    intwidth;

    intheight;

    struct_IplROI* roi;

    struct_IplImage* maskROI;

    void* imageId;

    struct_IplTileInfo* tileInfo;

    intimageSize;

    char* imageData;

    intwidthStep;

    intBorderMode[4];

    intBorderConst[4];

    char* imageDataOrigin;

    } IplImage;


Iplimage4

IplImage

Qtde de bytes entre pontos situados em uma mesma coluna, em linhas diferentes

  • Estrutura para tratamento de imagens

    typedefstruct_IplImage {

    intnSize;

    int ID;

    intnChannels;

    intalphaChannel;

    intdepth;

    charcolorModel[4];

    charchannelSeq[4];

    intdataOrder;

    intorigin;

    intalign;

    intwidth;

    intheight;

    struct_IplROI* roi;

    struct_IplImage* maskROI;

    void* imageId;

    struct_IplTileInfo* tileInfo;

    intimageSize;

    char* imageData;

    intwidthStep;

    intBorderMode[4];

    intBorderConst[4];

    char* imageDataOrigin;

    } IplImage;


Leitura

Leitura

Início da leitura (0,0)

Apenas uma matriz

Sequência de pixels B – G – R


Leitura1

Leitura

Diferentesjeitos de se fazer a leitura de dados de umaimagem

Nossojeito: leitura horizontal

for( introw = 0; row < img->height; row++ ){

uchar* ptr = (uchar*) ( img->imageData + row* img->widthStep );

for( intcol = 0; col < img->width; col++ ) {

printf( “%d ”, ptr[3*col] ); //acessa componente azul B

printf( “%d ”, ptr[3*col+1] ); //acessa componente verde G

printf( “%d\n”, ptr[3*col+2] ); //acessa componente vermelha R

}

}


Opera es2

Operações

Abrir imagem

Ler imagem

Processamento

Criar imagem


Region of interest roi

RegionOfInterest (ROI)

bla

bla


Checkpoint2

Dúvidas até aqui?

Checkpoint


Fundamentos 3d estereosc pico

“Aqueles óculos de papel celofane…”

Fundamentos 3D estereoscópico


Checkpoint3

Dúvidas até aqui?

Checkpoint


Cria o de imagem 3d anagl fico

Projeto 1

Criação de imagem 3D anaglífico


Checkpoint4

Dúvidas até aqui?

Checkpoint


V deos fun es b sicas

Mão na massa de novo

Vídeos: funções básicas


Checkpoint5

Dúvidas até aqui?

Checkpoint


Cria o de v deo 3d anagl fico

Projeto 2

Criação de vídeo 3D anaglífico


D vidas

Última chance!

Dúvidas?


Refer ncias

Referências

Bradski, G; Kaehler, A. – Learning OpenCV: Computer Vision withthe OpenCV Library. O’Reilly, 2008.

OpenCV Wiki - http://opencv.willowgarage.com/wiki/

OpenNetBulletin – China’s Green Dam: The ImplicationsofGovernmentControlEncroachingonthe Home PC. Disponível em http://opennet.net/sites/opennet.net/files/GreenDam_bulletin.pdf


Contato

Contato

[email protected]

http://www.icmc.usp.br/~zinga/

http://viva3d.blogspot.com/

Intermídia 6-209


Obrigado

OBRIGADO!


  • Login