introdução a visão compuutacional com opencv e python

6.664 visualizações

Publicada em

uma breve introdução à visão computacional utilizando a biblioteca opencv e python

2 comentários
3 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
6.664
No SlideShare
0
A partir de incorporações
0
Número de incorporações
9
Ações
Compartilhamentos
0
Downloads
197
Comentários
2
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

introdução a visão compuutacional com opencv e python

  1. 1. <ul>Visão computacional <ul><ul><ul><ul><ul><li>python e opencv </li></ul></ul></ul></ul></ul></ul>
  2. 2. Opencv o que é? <ul>OpenCV (Open Source Computer Vision Library). Originalmente, desenvolvida pela Intel, em 2000, é uma biblioteca multiplataforma, totalmente livre ao uso acadêmico e comercial, para o desenvol-vimento de aplicativos na área de Visão Compu-tacional. O OpenCV possui módulos de Processa-mento de Imagens e Video I/O, Estrutura de dados, Álgebra Linear, GUI (Interface Gráfica do Usuário) Básica com sistema de janelas independentes. </ul>
  3. 3. Onde é usada. <ul><li>Identificação de objetos
  4. 4. Sistema de reconhecimento facial
  5. 5. Reconhecimento de movimentos
  6. 6. Gravação de vídeos </li></ul>
  7. 7. Instalação <ul><ul><ul><li>O primeiro passo é instalar alguns pacotes necessários para funcionamento do opencv. Abra o terminal e digite o comando seguir:
  8. 8. sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev libdc1394-22-dev libjasper-dev libgstreamer0.10-dev libgstreamermm-0.10-dev libswscale-dev libv4l-dev libxine-dev libunicap-dev
  9. 9. Depois de instalar estes pacotes abra o Synaptic e procure por opencv marque todos os pacotes exceto o harpia. </li></ul></ul></ul>
  10. 10. Mas o que é visão computacional? <ul>Visão computacional é a ciência e tecnologia das máquinas que enxergam. Ela desenvolve teoria e tecnologia para a construção de sistemas artificiais que obtém informação de imagens ou quaisquer dados multi-dimensionais. </ul>
  11. 11. <ul>Vamos de código. </ul>
  12. 12. <ul>Mostrando uma imagem </ul># -*- coding: utf-8 -*- from opencv.cv import * #importa o modulo cv from opencv.highgui import * #importa o modulo highgui img = cvLoadImage(&quot;figura.bmp&quot;) #carrega uma imagem(figura.bmp) para a #variavel img cvNamedWindow(&quot;teste&quot;) #cria uma janela com o nome de &quot;teste&quot; cvShowImage(&quot;teste&quot;, img) #mostra a imagem contida em &quot;img&quot; na janela &quot;teste&quot; cvWaitKey(0) #espera até que se aperte alguma tecla
  13. 13. <ul>Exibindo um vídeo </ul># -*- coding: utf-8 -*- from opencv.cv import * from opencv.highgui import * c = 't' #inicializa a variavel &quot;c&quot; capture = cvCreateFileCapture(&quot;video.flv&quot;) #carrega o video &quot;fifa.flv&quot; na variavel capture frame = cvQueryFrame(capture) #extrai o primeiro frame do vídeo e armazena em &quot;frame&quot; cvNamedWindow(&quot;janela&quot;) while not(frame is None) and (c!='e'):#cria um loop que ira atualizar os frames mostrados cvShowImage(&quot;janela&quot;, frame) c = cvWaitKey(30) frame = cvQueryFrame(capture)
  14. 14. <ul>Detecção de contornos </ul><ul># -*- coding: utf-8 -*- <li>from opencv.cv import *
  15. 15. from opencv.highgui import *
  16. 16. img = cvLoadImage(&quot;figura.bmp&quot;)
  17. 17. im_gray = cvCreateImage(cvGetSize(img), 8, 1)#cria a imagem que #receberá a imagem original convertida em tons de cinza
  18. 18. im_canny = cvCreateImage(cvGetSize(img), 8, 1)#cria a imagem que #receberá os contornos da imagem original
  19. 19. cvCvtColor(img, im_gray, CV_BGR2GRAY)#converte a imagem original em escala de cinza
  20. 20. cvCanny(im_gray, im_canny, 100, 150, 3)#detecta os contornos na imagem
  21. 21. cvNamedWindow(&quot;teste&quot;)
  22. 22. cvShowImage(&quot;teste&quot;, im_canny)
  23. 23. cvWaitKey(0) </li></ul>
  24. 24. Resultado
  25. 25. <ul>Trackbar </ul># -*- coding: utf-8 -*- from opencv.cv import * from opencv.highgui import* limiar1 = 10 limiar2 = 100 def on_trackbar(): im_gray = cvCreateImage(cvGetSize(img), 8, 1) im_canny = cvCreateImage(cvGetSize(img), 8, 1) cvCvtColor(img, im_gray, CV_BGR2GRAY) cvCanny(im_gray, im_canny, limiar1, limiar2, 3) cvShowImage(&quot;teste&quot;, im_canny) def trackBar1(position): global limiar1 limiar1 = position on_trackbar()
  26. 26. continuação def trackBar2(position): global limiar2 limiar2 = position on_trackbar() if __name__==&quot;__main__&quot;: img = cvLoadImage(&quot;img692&quot;) cvNamedWindow(&quot;teste&quot;) cvCreateTrackbar(&quot;treshold1&quot;, &quot;teste&quot;, 1, 100, trackBar1) #cria uma trackbar de nome &quot;treshold1&quot; na janela &quot;teste&quot; cvCreateTrackbar(&quot;treshold2&quot;, &quot;teste&quot;, 100, 200, trackBar2) #cria uma trackbar de nome &quot;treshold1&quot; na janela &quot;teste&quot; trackBar1(1) cvWaitKey(0)
  27. 27. <ul>Detecção de objetos </ul><ul><li># -*- coding: utf-8 -*-
  28. 28. from opencv.cv import*
  29. 29. from opencv.highgui import*
  30. 30. if __name__==&quot;__main__&quot;:
  31. 31. cvNamedWindow(&quot;teste&quot;)
  32. 32. im = cvLoadImage(&quot;figura.bmp&quot;)
  33. 33. im_gray = cvCreateImage(cvGetSize(im), 8, 1)
  34. 34. cvCvtColor(im, im_gray, CV_BGR2GRAY)
  35. 35. nb, contours = cvFindContours(im_gray, cvCreateMemStorage())
  36. 36. #encontra os os contornos dos objetos na cena
  37. 37. cvDrawContours(im, contours, CV_RGB(0, 255, 0), CV_RGB(255, 0, 0), 2, 2, 8)
  38. 38. #traça os contornos encontrados anteriormente
  39. 39. cvShowImage(&quot;teste&quot;, im)
  40. 40. cvWaitKey(0) </li></ul>

×