5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 1/48
OPENCV: INTELIGÊNCIA ARTIFICIAL E VISÃO COMPUTACIONALOPENCV: INTELIGÊNCIA ARTIFICIAL E VISÃO COMPUTACIONAL
SEM MISTÉRIOSEM MISTÉRIO
Autor:
cabelo@opensuse.org
http://palestras.assuntonerd.com.br/opencv2019.html
Alessandro de Oliveira Faria
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 2/48
   TECNOLOGIA DESDE 1983   TECNOLOGIA DESDE 1983
Autodidata, Pesquisador e Inventor
CTO OITI TECHNOLOGIES
Embaixador openSUSE America Latina
Membro do Conselho OWASP SP
Engenheiro Linux openSUSE
Colaborador Mozillians
Global Innovator Intel
Contribuidor técnico o cial:
Viva o Linux
FOCA Linux
OWASP ZAP
OpenCV
Educatux
openSUSE
Mais de 90 palestras ministradas
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 3/48
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 4/48
OPENCVOPENCV
Uma biblioteca desenvolvida para tornar a Visão
Computacional mais acessível.
Criada em Intel 1999 ~ 2000, seu código fonte foi
disponibilizado na licença BSD, e como resultado
atualmente é mantida por 47 mil colaboradores e
proporciona mais de 2500 algoritmos otimizados.
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 5/48
OPENCVOPENCV
Encontra-se atualmente na versão 4.1.0 no qual
participo como desenvolvedor colaborador do projeto
e iniciei na versão 0.9.6 faz 15 anos.
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 6/48
OPENCVOPENCV
Um dos principais pilares da biblioteca é
processamento e reconhecimento da imagens.
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 7/48
OPENCVOPENCV
Não é otimizada somente para processadores Intel,
entrentanto nesta apresentação veremos muito
super cialmente como obter o melhor desempenho em
processadores Intel.
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 8/48
DIRETIVAS DE COMPILAÇÃODIRETIVAS DE COMPILAÇÃO
cmake -DCMAKE_BUILD_TYPE=Release 
-DWITH_IPP=ON 
-DWITH_TBB=ON 
-DENABLE_FAST_MATH=ON 
-DINSTALL_PYTHON_EXAMPLES=ON 
-DENABLE_SSE=ON 
-DENABLE_SSE2=ON 
-DCPU_DISPATCH=SSE3,SSE4_1,SSE4_2,AVX,FP16,AVX2 ..
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 9/48
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 10/48
ALGUNS FUNDAMENTOSALGUNS FUNDAMENTOS
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 11/48
VISÃO COMPUTACIONALVISÃO COMPUTACIONAL
NENHUM ALGORITMO É 100%NENHUM ALGORITMO É 100%
Ambiguidade matemática
A margem de erro é inversamente
proporcional a qualidade da imagem
submetida para processamento
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 12/48
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 13/48
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 14/48
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 15/48
O QUE É IMAGEMO QUE É IMAGEM
Imagem digital, é uma
matriz que re ete as cores
da imagem do mundo real
para o universo digital.
(convexidade/obturador).
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 16/48
RGBRGB
Cores primária onde a combinação dos seus valores
resultam em uma vasta gama de cores. Existe outros
espaço de cores...
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 17/48
PRÉ PROCESSAMENTO / PROCESSAMENTOPRÉ PROCESSAMENTO / PROCESSAMENTO
Pré processamento remoção de ruído e outros ltros.
Processamento é uma técnicas capaz de interpretar e
extrair informações da imagem.
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 18/48
ESCALA DE CINZAESCALA DE CINZA
A escala de cinza, são valores em pixel que informa a
intensidade de luminância na imagem (entre preto e
branco).
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 19/48
HISTOGRAMAHISTOGRAMA
Geralmente utilizado para analise através de grá cos
de barras que fornece o nível de cinza dos pixels da
imagem.
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 20/48
BINARIZAÇÃOBINARIZAÇÃO
Binarização da imagem é geralmente utilizado para
separar o fundo com uma regiao / objeto de interesse.
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 21/48
FILTROSFILTROS
Muito utilizado na transformação da imagem pixel a
pixel, o resultado dependem dos pixels vizinhos.
Por exemplo ltro de suavização, utilizada para reduzir
ruido
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 22/48
MORFOLOGIA MATEMÁTICAMORFOLOGIA MATEMÁTICA
A Erosão é um exemplo muito utilizado para remover
impurezas da imagem
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 23/48
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 24/48
RECONHECIMENTO DE PADRÃORECONHECIMENTO DE PADRÃO
Necessário uma base de conhecimento dos objetos,
estas amostras são utilizada no processo de
aprendizado de máquina.
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 25/48
Reconhecimento de padrão, objetos e outros é uma das
principais funções da área de visão computacional.
Existem muitas técnicas disponíveis na biblioteca
OpenCV, Template Matching, Feature Matching,
Machine Learning, Deep Learning...
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 26/48
RECONHECIMENTO DE PADRÃORECONHECIMENTO DE PADRÃO
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 27/48
Rastreamento consistem no reconhecimento do
padrão em uma sequencia de imagem. O rastreamento
esta diretamente relacionado ao movimento do objeto.
Filtro Kalman/ Filtro de Particula
Mean Shift/ Cam Shift e outros
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 28/48
RASTREAMENTO DE PIXELSRASTREAMENTO DE PIXELS
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 29/48
FLUXO OPTICOFLUXO OPTICO
Permite identi car/detectar o movimento espaças e
densas entre sequencias de quadros sem conhecer o
conteúdo.
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 30/48
FLUXO DE PIXELSFLUXO DE PIXELS
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 31/48
APLICABILIDADEAPLICABILIDADE
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 32/48
OCR E VERIFICAÇÃO DE PROCEDIMENTOSOCR E VERIFICAÇÃO DE PROCEDIMENTOS
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 33/48
CLASSIFICAÇÃO DE DOCUMENTOCLASSIFICAÇÃO DE DOCUMENTO
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 34/48
IDENTIFICAÇÃO DE REMÉDIOSIDENTIFICAÇÃO DE REMÉDIOS
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 35/48
CIDADE INTELIGENTECIDADE INTELIGENTE
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 36/48
LEIS GDPR,LGPD - OWASP SPLEIS GDPR,LGPD - OWASP SP
Todo setor de processamento de imagem deve se
preparar para a nova lei 13.709 sancionada dia 14 de
agosto de 2018, pois a multa chega a
40 MILHÕES40 MILHÕES
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 37/48
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 38/48
YOLOYOLO
YOLO (You only look once) é uma nova técnica de
reconhecimento de objetos, e utiliza convolução para
obter uma excelente performance.
DARKNET OPEN SOURCE /NEURAL NETWORKS / CDARKNET OPEN SOURCE /NEURAL NETWORKS / C
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 39/48
RESULTADORESULTADO
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 40/48
SEM MISTÉRIOSEM MISTÉRIO
SABOR DE LINUX FAVORITOSABOR DE LINUX FAVORITO
OPENCV 3.3.1 OU SUPERIOROPENCV 3.3.1 OU SUPERIOR
COMPILADOR C/C++COMPILADOR C/C++
VONTADEVONTADE DE APRENDERDE APRENDER
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 41/48
CAPTURANDO FRAME (VIDEO OU DISCO)CAPTURANDO FRAME (VIDEO OU DISCO)
Mat frame;
VideoCapture cap;
// Parametro = indice do dispositivo de captura
cap.open(0);
cap >> frame;
Mat frame;
frame = imread("/tmp/image.jpg");
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 42/48
PROCESSAMENTO DEEPLEARNINGPROCESSAMENTO DEEPLEARNING
Net net = readNet(modelPath, configPath);
std::vector(String) outNames = net.getUnconnectedOutLayersNames()
Size inpSize( frame.cols, frame.rows);
blobFromImage(frame,blob,scale,inpSize,Scalar(),false, false);
net.setInput(blob);
std::vector(Mat) outs;
net.forward(outs, outNames);
postprocess(frame, outs, net);
NMSBoxes(boxes,confidences,confThreshold,nmsThreshold,indices);
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 43/48
OBTENDO AS COORDENADASOBTENDO AS COORDENADAS
int centerX = (int)(data[0] * frame.cols);
int centerY = (int)(data[1] * frame.rows);
int width = (int)(data[2] * frame.cols);
int height = (int)(data[3] * frame.rows);
int left = centerX - width / 2;
int top = centerY - height / 2;
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 44/48
DESENHANDO OS DADOSDESENHANDO OS DADOS
rectangle(frame, Point(left, top),
Point(right, bottom),
Scalar(0, 255, 0),3);
putText(frame, label, Point(left, top),
FONT_HERSHEY_SIMPLEX, 0.5, Scalar());
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 45/48
SEM MI MI MISEM MI MI MI
$ git clone https://github.com/cabelo/my-opencv-examples
$ cd my-opencv-examples
$ wget https://pjreddie.com/media/files/yolov3.weights
$ g++ `pkg-config --cflags opencv --libs opencv` 
yoloimg.cpp -o yoloimg
$ ./yoloimg --image=image-demo.jpg
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 46/48
RESULTADORESULTADO
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 47/48
INFERENCIA MATEMÁTICA AO VIVOINFERENCIA MATEMÁTICA AO VIVO
5/3/2019 OpenCV : Sem Mistério
https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 48/48
OBRIGADO!OBRIGADO!
Critícas e Sugestiões:
cabelo@opensuse.org
Blog: https://assuntonerd.com.br
“Colaborar atrai amigos, competir atrai inimigos”
Alessandro de Oliveira Faria
 

TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computacional sem misterio

  • 1.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 1/48 OPENCV: INTELIGÊNCIA ARTIFICIAL E VISÃO COMPUTACIONALOPENCV: INTELIGÊNCIA ARTIFICIAL E VISÃO COMPUTACIONAL SEM MISTÉRIOSEM MISTÉRIO Autor: cabelo@opensuse.org http://palestras.assuntonerd.com.br/opencv2019.html Alessandro de Oliveira Faria
  • 2.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 2/48    TECNOLOGIA DESDE 1983   TECNOLOGIA DESDE 1983 Autodidata, Pesquisador e Inventor CTO OITI TECHNOLOGIES Embaixador openSUSE America Latina Membro do Conselho OWASP SP Engenheiro Linux openSUSE Colaborador Mozillians Global Innovator Intel Contribuidor técnico o cial: Viva o Linux FOCA Linux OWASP ZAP OpenCV Educatux openSUSE Mais de 90 palestras ministradas
  • 3.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 3/48
  • 4.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 4/48 OPENCVOPENCV Uma biblioteca desenvolvida para tornar a Visão Computacional mais acessível. Criada em Intel 1999 ~ 2000, seu código fonte foi disponibilizado na licença BSD, e como resultado atualmente é mantida por 47 mil colaboradores e proporciona mais de 2500 algoritmos otimizados.
  • 5.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 5/48 OPENCVOPENCV Encontra-se atualmente na versão 4.1.0 no qual participo como desenvolvedor colaborador do projeto e iniciei na versão 0.9.6 faz 15 anos.
  • 6.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 6/48 OPENCVOPENCV Um dos principais pilares da biblioteca é processamento e reconhecimento da imagens.
  • 7.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 7/48 OPENCVOPENCV Não é otimizada somente para processadores Intel, entrentanto nesta apresentação veremos muito super cialmente como obter o melhor desempenho em processadores Intel.
  • 8.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 8/48 DIRETIVAS DE COMPILAÇÃODIRETIVAS DE COMPILAÇÃO cmake -DCMAKE_BUILD_TYPE=Release -DWITH_IPP=ON -DWITH_TBB=ON -DENABLE_FAST_MATH=ON -DINSTALL_PYTHON_EXAMPLES=ON -DENABLE_SSE=ON -DENABLE_SSE2=ON -DCPU_DISPATCH=SSE3,SSE4_1,SSE4_2,AVX,FP16,AVX2 ..
  • 9.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 9/48
  • 10.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 10/48 ALGUNS FUNDAMENTOSALGUNS FUNDAMENTOS
  • 11.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 11/48 VISÃO COMPUTACIONALVISÃO COMPUTACIONAL NENHUM ALGORITMO É 100%NENHUM ALGORITMO É 100% Ambiguidade matemática A margem de erro é inversamente proporcional a qualidade da imagem submetida para processamento
  • 12.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 12/48
  • 13.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 13/48
  • 14.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 14/48
  • 15.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 15/48 O QUE É IMAGEMO QUE É IMAGEM Imagem digital, é uma matriz que re ete as cores da imagem do mundo real para o universo digital. (convexidade/obturador).
  • 16.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 16/48 RGBRGB Cores primária onde a combinação dos seus valores resultam em uma vasta gama de cores. Existe outros espaço de cores...
  • 17.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 17/48 PRÉ PROCESSAMENTO / PROCESSAMENTOPRÉ PROCESSAMENTO / PROCESSAMENTO Pré processamento remoção de ruído e outros ltros. Processamento é uma técnicas capaz de interpretar e extrair informações da imagem.
  • 18.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 18/48 ESCALA DE CINZAESCALA DE CINZA A escala de cinza, são valores em pixel que informa a intensidade de luminância na imagem (entre preto e branco).
  • 19.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 19/48 HISTOGRAMAHISTOGRAMA Geralmente utilizado para analise através de grá cos de barras que fornece o nível de cinza dos pixels da imagem.
  • 20.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 20/48 BINARIZAÇÃOBINARIZAÇÃO Binarização da imagem é geralmente utilizado para separar o fundo com uma regiao / objeto de interesse.
  • 21.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 21/48 FILTROSFILTROS Muito utilizado na transformação da imagem pixel a pixel, o resultado dependem dos pixels vizinhos. Por exemplo ltro de suavização, utilizada para reduzir ruido
  • 22.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 22/48 MORFOLOGIA MATEMÁTICAMORFOLOGIA MATEMÁTICA A Erosão é um exemplo muito utilizado para remover impurezas da imagem
  • 23.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 23/48
  • 24.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 24/48 RECONHECIMENTO DE PADRÃORECONHECIMENTO DE PADRÃO Necessário uma base de conhecimento dos objetos, estas amostras são utilizada no processo de aprendizado de máquina.
  • 25.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 25/48 Reconhecimento de padrão, objetos e outros é uma das principais funções da área de visão computacional. Existem muitas técnicas disponíveis na biblioteca OpenCV, Template Matching, Feature Matching, Machine Learning, Deep Learning...
  • 26.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 26/48 RECONHECIMENTO DE PADRÃORECONHECIMENTO DE PADRÃO
  • 27.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 27/48 Rastreamento consistem no reconhecimento do padrão em uma sequencia de imagem. O rastreamento esta diretamente relacionado ao movimento do objeto. Filtro Kalman/ Filtro de Particula Mean Shift/ Cam Shift e outros
  • 28.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 28/48 RASTREAMENTO DE PIXELSRASTREAMENTO DE PIXELS
  • 29.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 29/48 FLUXO OPTICOFLUXO OPTICO Permite identi car/detectar o movimento espaças e densas entre sequencias de quadros sem conhecer o conteúdo.
  • 30.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 30/48 FLUXO DE PIXELSFLUXO DE PIXELS
  • 31.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 31/48 APLICABILIDADEAPLICABILIDADE
  • 32.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 32/48 OCR E VERIFICAÇÃO DE PROCEDIMENTOSOCR E VERIFICAÇÃO DE PROCEDIMENTOS
  • 33.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 33/48 CLASSIFICAÇÃO DE DOCUMENTOCLASSIFICAÇÃO DE DOCUMENTO
  • 34.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 34/48 IDENTIFICAÇÃO DE REMÉDIOSIDENTIFICAÇÃO DE REMÉDIOS
  • 35.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 35/48 CIDADE INTELIGENTECIDADE INTELIGENTE
  • 36.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 36/48 LEIS GDPR,LGPD - OWASP SPLEIS GDPR,LGPD - OWASP SP Todo setor de processamento de imagem deve se preparar para a nova lei 13.709 sancionada dia 14 de agosto de 2018, pois a multa chega a 40 MILHÕES40 MILHÕES
  • 37.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 37/48
  • 38.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 38/48 YOLOYOLO YOLO (You only look once) é uma nova técnica de reconhecimento de objetos, e utiliza convolução para obter uma excelente performance. DARKNET OPEN SOURCE /NEURAL NETWORKS / CDARKNET OPEN SOURCE /NEURAL NETWORKS / C
  • 39.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 39/48 RESULTADORESULTADO
  • 40.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 40/48 SEM MISTÉRIOSEM MISTÉRIO SABOR DE LINUX FAVORITOSABOR DE LINUX FAVORITO OPENCV 3.3.1 OU SUPERIOROPENCV 3.3.1 OU SUPERIOR COMPILADOR C/C++COMPILADOR C/C++ VONTADEVONTADE DE APRENDERDE APRENDER
  • 41.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 41/48 CAPTURANDO FRAME (VIDEO OU DISCO)CAPTURANDO FRAME (VIDEO OU DISCO) Mat frame; VideoCapture cap; // Parametro = indice do dispositivo de captura cap.open(0); cap >> frame; Mat frame; frame = imread("/tmp/image.jpg");
  • 42.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 42/48 PROCESSAMENTO DEEPLEARNINGPROCESSAMENTO DEEPLEARNING Net net = readNet(modelPath, configPath); std::vector(String) outNames = net.getUnconnectedOutLayersNames() Size inpSize( frame.cols, frame.rows); blobFromImage(frame,blob,scale,inpSize,Scalar(),false, false); net.setInput(blob); std::vector(Mat) outs; net.forward(outs, outNames); postprocess(frame, outs, net); NMSBoxes(boxes,confidences,confThreshold,nmsThreshold,indices);
  • 43.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 43/48 OBTENDO AS COORDENADASOBTENDO AS COORDENADAS int centerX = (int)(data[0] * frame.cols); int centerY = (int)(data[1] * frame.rows); int width = (int)(data[2] * frame.cols); int height = (int)(data[3] * frame.rows); int left = centerX - width / 2; int top = centerY - height / 2;
  • 44.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 44/48 DESENHANDO OS DADOSDESENHANDO OS DADOS rectangle(frame, Point(left, top), Point(right, bottom), Scalar(0, 255, 0),3); putText(frame, label, Point(left, top), FONT_HERSHEY_SIMPLEX, 0.5, Scalar());
  • 45.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 45/48 SEM MI MI MISEM MI MI MI $ git clone https://github.com/cabelo/my-opencv-examples $ cd my-opencv-examples $ wget https://pjreddie.com/media/files/yolov3.weights $ g++ `pkg-config --cflags opencv --libs opencv` yoloimg.cpp -o yoloimg $ ./yoloimg --image=image-demo.jpg
  • 46.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 46/48 RESULTADORESULTADO
  • 47.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 47/48 INFERENCIA MATEMÁTICA AO VIVOINFERENCIA MATEMÁTICA AO VIVO
  • 48.
    5/3/2019 OpenCV :Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 48/48 OBRIGADO!OBRIGADO! Critícas e Sugestiões: cabelo@opensuse.org Blog: https://assuntonerd.com.br “Colaborar atrai amigos, competir atrai inimigos” Alessandro de Oliveira Faria  