SlideShare uma empresa Scribd logo
Uma Rápida Introdução
ao OpenCV (cont.)
Cristiano Rafael Steffens
cristianosteffens@furg.br
Universidade Federal do Rio Grande – FURG
Centro de Ciências Computacionais
Revisão
 Quais os principais tipos de dados da OpenCV?
 Quais são módulos da OpenCV?
 Qual o namespace da OpenCV?
 Para que são utilizados os comandos imread, imwrite,
imshow, cvtColor, blur, GaussianBlur, normalize, erode,
dilate?
Onde posso encontrar outros
exemplos?
 Tutoriais oficiais:
http://docs.opencv.org/doc/tutorials/tutorials.html
 OCR, integração com Web (HTML, Javascript),
solucionador de labiririnto e outros projetos interesantes:
http://opencv-code.com
Importante!! cv::Mat
Desenhar um quadrado preto com um “X”, um círculo e um
retângulo
/// Cria uma matriz zerada do tamanho
Mat minha_imagem = Mat::zeros(tamanho,tamanho, CV_8UC1);
for(int y = 0; y < minha_imagem.rows; y++)
{
for(int x = 0; x < minha_imagem.cols; x++)
{
if(x==y || (tamanho-x) == y)
minha_imagem.at<uchar>(x,y) = 255;
}
}
///Desenha um cíurculo no centro com raio 0.20
circle(minha_imagem, Point(tamanho/2, tamanho/2), tamanho/5,
Scalar::all(127), 1);
/// Desenha um retângulo
rectangle(minha_imagem, Point(tamanho/4, tamanho/4),
Point(3*tamanho/4, 3*tamanho/4),Scalar::all(200), 1);
Detectar círculos utilizando a
transformada de Hough
/// src_gray: Input image (grayscale)
/// circles: A vector that stores sets of 3 values: x_{c}, y_{c}, r for each detected
circle.
/// CV_HOUGH_GRADIENT: Define the detection method. Currently this is the
only one available in OpenCV
/// dp = 1: The inverse ratio of resolution
/// min_dist = src_gray.rows/8: Minimum distance between detected centers
/// param_1 = 200: Upper threshold for the internal Canny edge detector
/// param_2 = 100*: Threshold for center detection.
/// min_radius = 0: Minimum radio to be detected. If unknown, put zero as
default.
/// max_radius = 0: Maximum radius to be detected. If unknown, put zero as
default
HoughCircles( src_gray, circles, CV_HOUGH_GRADIENT, 1, src_gray.rows/16, 200,
100, 0, 0 );
Filtros Lineares
Funções:
Blur
GaussianBlur
medianBlur
bilateralFilter
Threshold
 Binary
 Binary Inverted
 Truncate To Zero
 To Zero Inverted
Trabalhando com Vídeos
// lê video que veio no primeiro argumento
VideoCapture cap( argv[1] );
if ( !cap.isOpened() ){ cout << "Cannot open the video file" << endl; return -1; }
Mat frame;
// enquanto existirem frames
while( cap.read(frame) )
{
// mostra a imagem
imshow("Video", frame);
// espera até que um esc seja pressionado
if(waitKey(30) == 27)
{ break; }
}
Histogramas
Definição:
Um histograma é uma ferramenta de análise e representação de
dados quantitativos, agrupados em classes de frequência que
permite distinguir a forma, o ponto central e a variação da
distribuição, além de outros dados como amplitude e simetria na
distribuição dos dados.
Documentação:
http://docs.opencv.org/modules/imgproc/doc/histograms.html
Pretty cool! Huh!

Mais conteúdo relacionado

Mais procurados

Arduino e python
Arduino e pythonArduino e python
Arduino e python
Victor Casé
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
Saulo Arruda
 
Frameworks para C 3º DeSif
Frameworks para C 3º DeSifFrameworks para C 3º DeSif
Frameworks para C 3º DeSif
Gleison Rodrigues
 
Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STLEstruturas de dados com C++ e STL
Estruturas de dados com C++ e STL
Marcos Castro
 
Devcpp
DevcppDevcpp
Pós Ruy - 2 e 3 Camadas - Teste de componentes
Pós Ruy - 2 e 3 Camadas - Teste de componentesPós Ruy - 2 e 3 Camadas - Teste de componentes
Pós Ruy - 2 e 3 Camadas - Teste de componentes
Cleverson Sacramento
 
Maratona de Programação com STL
Maratona de Programação com STLMaratona de Programação com STL
Maratona de Programação com STL
Marcos Castro
 
Introdução ao Node.js
Introdução ao Node.jsIntrodução ao Node.js
Introdução ao Node.js
Edgar Eler
 
MSDN Webcast - Melhores práticas cross browser
MSDN Webcast - Melhores práticas cross browserMSDN Webcast - Melhores práticas cross browser
MSDN Webcast - Melhores práticas cross browser
JP Clementi
 
Ponteiros de Função
Ponteiros de FunçãoPonteiros de Função
Ponteiros de Função
Rodrigo Almeida
 
Objective-C para quem está chegando agora
Objective-C para quem está chegando agoraObjective-C para quem está chegando agora
Objective-C para quem está chegando agora
Eduardo Costa
 
OOP (in portuguese)
OOP (in portuguese)OOP (in portuguese)
OOP (in portuguese)
Bruno Pedro
 
Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01
Leandro Rezende
 
programação c 3 aula
programação c 3 aulaprogramação c 3 aula
programação c 3 aula
Christopher Cerqueira
 
Light Talk sobre JavaScript Funcional
Light Talk sobre JavaScript FuncionalLight Talk sobre JavaScript Funcional
Light Talk sobre JavaScript Funcional
Emanuel Gonçalves
 
Introdução a linguagem c 2_97_2003
Introdução a linguagem c  2_97_2003Introdução a linguagem c  2_97_2003
Introdução a linguagem c 2_97_2003
Henoc Freire
 
5423 c ou c++
5423 c ou c++5423 c ou c++
5423 c ou c++
Lucas Júnio
 
Rachinations
RachinationsRachinations
Rachinations
Felipe
 
Canal analogico do_pic
Canal analogico do_picCanal analogico do_pic
Canal analogico do_pic
João Paulo Marcon Ferreira
 
Estrdado materia-06-alocacao-de-memoria1
Estrdado materia-06-alocacao-de-memoria1Estrdado materia-06-alocacao-de-memoria1
Estrdado materia-06-alocacao-de-memoria1
Ensdo
 

Mais procurados (20)

Arduino e python
Arduino e pythonArduino e python
Arduino e python
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
 
Frameworks para C 3º DeSif
Frameworks para C 3º DeSifFrameworks para C 3º DeSif
Frameworks para C 3º DeSif
 
Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STLEstruturas de dados com C++ e STL
Estruturas de dados com C++ e STL
 
Devcpp
DevcppDevcpp
Devcpp
 
Pós Ruy - 2 e 3 Camadas - Teste de componentes
Pós Ruy - 2 e 3 Camadas - Teste de componentesPós Ruy - 2 e 3 Camadas - Teste de componentes
Pós Ruy - 2 e 3 Camadas - Teste de componentes
 
Maratona de Programação com STL
Maratona de Programação com STLMaratona de Programação com STL
Maratona de Programação com STL
 
Introdução ao Node.js
Introdução ao Node.jsIntrodução ao Node.js
Introdução ao Node.js
 
MSDN Webcast - Melhores práticas cross browser
MSDN Webcast - Melhores práticas cross browserMSDN Webcast - Melhores práticas cross browser
MSDN Webcast - Melhores práticas cross browser
 
Ponteiros de Função
Ponteiros de FunçãoPonteiros de Função
Ponteiros de Função
 
Objective-C para quem está chegando agora
Objective-C para quem está chegando agoraObjective-C para quem está chegando agora
Objective-C para quem está chegando agora
 
OOP (in portuguese)
OOP (in portuguese)OOP (in portuguese)
OOP (in portuguese)
 
Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01
 
programação c 3 aula
programação c 3 aulaprogramação c 3 aula
programação c 3 aula
 
Light Talk sobre JavaScript Funcional
Light Talk sobre JavaScript FuncionalLight Talk sobre JavaScript Funcional
Light Talk sobre JavaScript Funcional
 
Introdução a linguagem c 2_97_2003
Introdução a linguagem c  2_97_2003Introdução a linguagem c  2_97_2003
Introdução a linguagem c 2_97_2003
 
5423 c ou c++
5423 c ou c++5423 c ou c++
5423 c ou c++
 
Rachinations
RachinationsRachinations
Rachinations
 
Canal analogico do_pic
Canal analogico do_picCanal analogico do_pic
Canal analogico do_pic
 
Estrdado materia-06-alocacao-de-memoria1
Estrdado materia-06-alocacao-de-memoria1Estrdado materia-06-alocacao-de-memoria1
Estrdado materia-06-alocacao-de-memoria1
 

Destaque

Sistema de reconhecimento de expressão facial
Sistema de reconhecimento de expressão facialSistema de reconhecimento de expressão facial
Sistema de reconhecimento de expressão facial
Fabiano Da Ventura
 
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
Christopher Cerqueira
 
Apresentação visão computacional
Apresentação visão computacionalApresentação visão computacional
Apresentação visão computacional
Edvaldo Araújo
 
Aula 5 Processamento de imagens
Aula 5 Processamento de imagensAula 5 Processamento de imagens
White Paper: Sistemas de Visão Artificial Industrial - Factores a Ter em Cons...
White Paper: Sistemas de Visão Artificial Industrial - Factores a Ter em Cons...White Paper: Sistemas de Visão Artificial Industrial - Factores a Ter em Cons...
White Paper: Sistemas de Visão Artificial Industrial - Factores a Ter em Cons...
Maria Spínola
 
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Richiely Paiva
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoções
Adilmar Dantas
 
Expressões faciais
Expressões faciaisExpressões faciais
Expressões faciais
Maria Antonieta Silva
 
Apresentaçaõ de redes atual
Apresentaçaõ de redes atualApresentaçaõ de redes atual
Apresentaçaõ de redes atual
Milena Rebouças
 
Unidad i financiera
Unidad i financieraUnidad i financiera
Unidad i financiera
Prof. Prof.
 
Monitoramento ambiental
Monitoramento ambientalMonitoramento ambiental
Monitoramento ambiental
Jorgeane Schaefer
 
Samsung - Câmera Digital - PL120 - 14.2 Megapixels - Duplo LCD - LCD Frontal ...
Samsung - Câmera Digital - PL120 - 14.2 Megapixels - Duplo LCD - LCD Frontal ...Samsung - Câmera Digital - PL120 - 14.2 Megapixels - Duplo LCD - LCD Frontal ...
Samsung - Câmera Digital - PL120 - 14.2 Megapixels - Duplo LCD - LCD Frontal ...
moriainformatica
 
54311457 mbf-ias-english-summaries-standards
54311457 mbf-ias-english-summaries-standards54311457 mbf-ias-english-summaries-standards
54311457 mbf-ias-english-summaries-standards
Omnia Hassan
 
Enhancing livelihoods of poor livestock keepers through increasing use of fod...
Enhancing livelihoods of poor livestock keepers through increasing use of fod...Enhancing livelihoods of poor livestock keepers through increasing use of fod...
Enhancing livelihoods of poor livestock keepers through increasing use of fod...
ILRI
 
5 d4n medan nias island tour package
5 d4n medan   nias island tour package5 d4n medan   nias island tour package
5 d4n medan nias island tour package
PT Asia Medan Tour & Travel
 
Campos da serra catarinense
Campos da serra catarinenseCampos da serra catarinense
Campos da serra catarinense
Jorgeane Schaefer
 
Apresentação Sistavac Building Efficiency BMS
Apresentação Sistavac Building Efficiency  BMSApresentação Sistavac Building Efficiency  BMS
Apresentação Sistavac Building Efficiency BMS
Antonio Fernandes
 
Ruidos
RuidosRuidos
Ruidos
jaflutz
 

Destaque (19)

Sistema de reconhecimento de expressão facial
Sistema de reconhecimento de expressão facialSistema de reconhecimento de expressão facial
Sistema de reconhecimento de expressão facial
 
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
 
Apresentação visão computacional
Apresentação visão computacionalApresentação visão computacional
Apresentação visão computacional
 
Aula 5 Processamento de imagens
Aula 5 Processamento de imagensAula 5 Processamento de imagens
Aula 5 Processamento de imagens
 
White Paper: Sistemas de Visão Artificial Industrial - Factores a Ter em Cons...
White Paper: Sistemas de Visão Artificial Industrial - Factores a Ter em Cons...White Paper: Sistemas de Visão Artificial Industrial - Factores a Ter em Cons...
White Paper: Sistemas de Visão Artificial Industrial - Factores a Ter em Cons...
 
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoções
 
Expressões faciais
Expressões faciaisExpressões faciais
Expressões faciais
 
Apresentaçaõ de redes atual
Apresentaçaõ de redes atualApresentaçaõ de redes atual
Apresentaçaõ de redes atual
 
Unidad i financiera
Unidad i financieraUnidad i financiera
Unidad i financiera
 
Monitoramento ambiental
Monitoramento ambientalMonitoramento ambiental
Monitoramento ambiental
 
Samsung - Câmera Digital - PL120 - 14.2 Megapixels - Duplo LCD - LCD Frontal ...
Samsung - Câmera Digital - PL120 - 14.2 Megapixels - Duplo LCD - LCD Frontal ...Samsung - Câmera Digital - PL120 - 14.2 Megapixels - Duplo LCD - LCD Frontal ...
Samsung - Câmera Digital - PL120 - 14.2 Megapixels - Duplo LCD - LCD Frontal ...
 
54311457 mbf-ias-english-summaries-standards
54311457 mbf-ias-english-summaries-standards54311457 mbf-ias-english-summaries-standards
54311457 mbf-ias-english-summaries-standards
 
Enhancing livelihoods of poor livestock keepers through increasing use of fod...
Enhancing livelihoods of poor livestock keepers through increasing use of fod...Enhancing livelihoods of poor livestock keepers through increasing use of fod...
Enhancing livelihoods of poor livestock keepers through increasing use of fod...
 
5 d4n medan nias island tour package
5 d4n medan   nias island tour package5 d4n medan   nias island tour package
5 d4n medan nias island tour package
 
Campos da serra catarinense
Campos da serra catarinenseCampos da serra catarinense
Campos da serra catarinense
 
Apresentação Sistavac Building Efficiency BMS
Apresentação Sistavac Building Efficiency  BMSApresentação Sistavac Building Efficiency  BMS
Apresentação Sistavac Building Efficiency BMS
 
Ruidos
RuidosRuidos
Ruidos
 
josue
josuejosue
josue
 

Semelhante a Introdução ao processamento de imagens com OpenCV (cont)

Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcados
henriqueprossi
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de software
ricardophp
 
Escrevendo modulos python com rust
Escrevendo modulos python com rustEscrevendo modulos python com rust
Escrevendo modulos python com rust
Bruno Rocha
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)
Leandro Lugaresi
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
Roberto Castro
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livre
pichiliani
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-C
osmarcf
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
profwtelles
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
Mauricio Wieler
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
Gregorio Melo
 
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
Marcio Machado Pereira
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
thomasdacosta
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
Henry Raúl González Brito
 
Dismistificando deep learning
Dismistificando deep learningDismistificando deep learning
Dismistificando deep learning
Leandro Romualdo da Silva
 
Análise de interfaces para a programação paralela e distribuída
Análise de interfaces para a programação paralela e  distribuídaAnálise de interfaces para a programação paralela e  distribuída
Análise de interfaces para a programação paralela e distribuída
Helton Ritter
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
Roberto Soares
 
Grafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
Grafos e Algoritimos - Dr. Julio Cesar de Araujo MenezesGrafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
Grafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
Julio Menezes
 
Math
MathMath
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
Diego Santos
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
Fábio Nogueira de Lucena
 

Semelhante a Introdução ao processamento de imagens com OpenCV (cont) (20)

Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcados
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de software
 
Escrevendo modulos python com rust
Escrevendo modulos python com rustEscrevendo modulos python com rust
Escrevendo modulos python com rust
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livre
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-C
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Dismistificando deep learning
Dismistificando deep learningDismistificando deep learning
Dismistificando deep learning
 
Análise de interfaces para a programação paralela e distribuída
Análise de interfaces para a programação paralela e  distribuídaAnálise de interfaces para a programação paralela e  distribuída
Análise de interfaces para a programação paralela e distribuída
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
 
Grafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
Grafos e Algoritimos - Dr. Julio Cesar de Araujo MenezesGrafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
Grafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
 
Math
MathMath
Math
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
 

Mais de Cristiano Rafael Steffens

CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and videoCONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
Cristiano Rafael Steffens
 
A pipelined approach to deal with image distortion in computer vision - BRACI...
A pipelined approach to deal with image distortion in computer vision - BRACI...A pipelined approach to deal with image distortion in computer vision - BRACI...
A pipelined approach to deal with image distortion in computer vision - BRACI...
Cristiano Rafael Steffens
 
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGESA CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
Cristiano Rafael Steffens
 
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
Cristiano Rafael Steffens
 
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
Cristiano Rafael Steffens
 
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
Cristiano Rafael Steffens
 
FPGA-based sensor integration and communication protocols for automated
FPGA-based sensor integration and communication protocols for automatedFPGA-based sensor integration and communication protocols for automated
FPGA-based sensor integration and communication protocols for automated
Cristiano Rafael Steffens
 
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire DetectionLars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
Cristiano Rafael Steffens
 
Php Math and arrays
Php Math and arraysPhp Math and arrays
Php Math and arrays
Cristiano Rafael Steffens
 
ICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section PresentationICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section Presentation
Cristiano Rafael Steffens
 
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
Cristiano Rafael Steffens
 
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
Cristiano Rafael Steffens
 
Automated control module based on VBM for shipyard welding applications: Stud...
Automated control module based on VBM for shipyard welding applications: Stud...Automated control module based on VBM for shipyard welding applications: Stud...
Automated control module based on VBM for shipyard welding applications: Stud...
Cristiano Rafael Steffens
 
An Unconstrained Dataset for Non-stationary Video Based Fire Detection
An Unconstrained Dataset for Non-stationary Video Based Fire DetectionAn Unconstrained Dataset for Non-stationary Video Based Fire Detection
An Unconstrained Dataset for Non-stationary Video Based Fire Detection
Cristiano Rafael Steffens
 
Um Sistema De Detecção De Fogo Baseado Em Vídeo
Um Sistema De Detecção De Fogo Baseado Em VídeoUm Sistema De Detecção De Fogo Baseado Em Vídeo
Um Sistema De Detecção De Fogo Baseado Em Vídeo
Cristiano Rafael Steffens
 
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Cristiano Rafael Steffens
 
G xserver curso-actualizgxxev1
G xserver curso-actualizgxxev1G xserver curso-actualizgxxev1
G xserver curso-actualizgxxev1
Cristiano Rafael Steffens
 
20 pratico cursogxxbr
20 pratico cursogxxbr20 pratico cursogxxbr
20 pratico cursogxxbr
Cristiano Rafael Steffens
 
18 indice cursogxx
18 indice cursogxx18 indice cursogxx
18 indice cursogxx
Cristiano Rafael Steffens
 
17 kb versoes-curso-gxxbr
17 kb versoes-curso-gxxbr17 kb versoes-curso-gxxbr
17 kb versoes-curso-gxxbr
Cristiano Rafael Steffens
 

Mais de Cristiano Rafael Steffens (20)

CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and videoCONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
 
A pipelined approach to deal with image distortion in computer vision - BRACI...
A pipelined approach to deal with image distortion in computer vision - BRACI...A pipelined approach to deal with image distortion in computer vision - BRACI...
A pipelined approach to deal with image distortion in computer vision - BRACI...
 
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGESA CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
A CNN BASED MODEL TO RESTORE ILL EXPOSED IMAGES
 
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
Can Exposure, Noise and Compression affect Image Recognition? An Assessment o...
 
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
 
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
UMA ABORDAGEM COMPARATIVA ENTRE MICROCONTROLADORES: ARDUINO MEGA X ARDUINO DU...
 
FPGA-based sensor integration and communication protocols for automated
FPGA-based sensor integration and communication protocols for automatedFPGA-based sensor integration and communication protocols for automated
FPGA-based sensor integration and communication protocols for automated
 
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire DetectionLars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
Lars 2016 A Texture Driven Approach for Visible Spectrum Fire Detection
 
Php Math and arrays
Php Math and arraysPhp Math and arrays
Php Math and arrays
 
ICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section PresentationICRA 2016 - Interactive section Presentation
ICRA 2016 - Interactive section Presentation
 
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
Vision-Based System for Welding Groove Measurements for Robotic Welding Appli...
 
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
Welding Groove Mapping: Image Acquisition and Processing on Shiny Surfaces - ...
 
Automated control module based on VBM for shipyard welding applications: Stud...
Automated control module based on VBM for shipyard welding applications: Stud...Automated control module based on VBM for shipyard welding applications: Stud...
Automated control module based on VBM for shipyard welding applications: Stud...
 
An Unconstrained Dataset for Non-stationary Video Based Fire Detection
An Unconstrained Dataset for Non-stationary Video Based Fire DetectionAn Unconstrained Dataset for Non-stationary Video Based Fire Detection
An Unconstrained Dataset for Non-stationary Video Based Fire Detection
 
Um Sistema De Detecção De Fogo Baseado Em Vídeo
Um Sistema De Detecção De Fogo Baseado Em VídeoUm Sistema De Detecção De Fogo Baseado Em Vídeo
Um Sistema De Detecção De Fogo Baseado Em Vídeo
 
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
 
G xserver curso-actualizgxxev1
G xserver curso-actualizgxxev1G xserver curso-actualizgxxev1
G xserver curso-actualizgxxev1
 
20 pratico cursogxxbr
20 pratico cursogxxbr20 pratico cursogxxbr
20 pratico cursogxxbr
 
18 indice cursogxx
18 indice cursogxx18 indice cursogxx
18 indice cursogxx
 
17 kb versoes-curso-gxxbr
17 kb versoes-curso-gxxbr17 kb versoes-curso-gxxbr
17 kb versoes-curso-gxxbr
 

Introdução ao processamento de imagens com OpenCV (cont)

  • 1. Uma Rápida Introdução ao OpenCV (cont.) Cristiano Rafael Steffens cristianosteffens@furg.br Universidade Federal do Rio Grande – FURG Centro de Ciências Computacionais
  • 2. Revisão  Quais os principais tipos de dados da OpenCV?  Quais são módulos da OpenCV?  Qual o namespace da OpenCV?  Para que são utilizados os comandos imread, imwrite, imshow, cvtColor, blur, GaussianBlur, normalize, erode, dilate?
  • 3. Onde posso encontrar outros exemplos?  Tutoriais oficiais: http://docs.opencv.org/doc/tutorials/tutorials.html  OCR, integração com Web (HTML, Javascript), solucionador de labiririnto e outros projetos interesantes: http://opencv-code.com
  • 5. Desenhar um quadrado preto com um “X”, um círculo e um retângulo /// Cria uma matriz zerada do tamanho Mat minha_imagem = Mat::zeros(tamanho,tamanho, CV_8UC1); for(int y = 0; y < minha_imagem.rows; y++) { for(int x = 0; x < minha_imagem.cols; x++) { if(x==y || (tamanho-x) == y) minha_imagem.at<uchar>(x,y) = 255; } } ///Desenha um cíurculo no centro com raio 0.20 circle(minha_imagem, Point(tamanho/2, tamanho/2), tamanho/5, Scalar::all(127), 1); /// Desenha um retângulo rectangle(minha_imagem, Point(tamanho/4, tamanho/4), Point(3*tamanho/4, 3*tamanho/4),Scalar::all(200), 1);
  • 6. Detectar círculos utilizando a transformada de Hough /// src_gray: Input image (grayscale) /// circles: A vector that stores sets of 3 values: x_{c}, y_{c}, r for each detected circle. /// CV_HOUGH_GRADIENT: Define the detection method. Currently this is the only one available in OpenCV /// dp = 1: The inverse ratio of resolution /// min_dist = src_gray.rows/8: Minimum distance between detected centers /// param_1 = 200: Upper threshold for the internal Canny edge detector /// param_2 = 100*: Threshold for center detection. /// min_radius = 0: Minimum radio to be detected. If unknown, put zero as default. /// max_radius = 0: Maximum radius to be detected. If unknown, put zero as default HoughCircles( src_gray, circles, CV_HOUGH_GRADIENT, 1, src_gray.rows/16, 200, 100, 0, 0 );
  • 8. Threshold  Binary  Binary Inverted  Truncate To Zero  To Zero Inverted
  • 9. Trabalhando com Vídeos // lê video que veio no primeiro argumento VideoCapture cap( argv[1] ); if ( !cap.isOpened() ){ cout << "Cannot open the video file" << endl; return -1; } Mat frame; // enquanto existirem frames while( cap.read(frame) ) { // mostra a imagem imshow("Video", frame); // espera até que um esc seja pressionado if(waitKey(30) == 27) { break; } }
  • 10. Histogramas Definição: Um histograma é uma ferramenta de análise e representação de dados quantitativos, agrupados em classes de frequência que permite distinguir a forma, o ponto central e a variação da distribuição, além de outros dados como amplitude e simetria na distribuição dos dados. Documentação: http://docs.opencv.org/modules/imgproc/doc/histograms.html