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

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

If you can't read please download the document

Upload: whanderley-freitas

Post on 11-Jun-2015

5.129 views

Category:

Documents


9 download

DESCRIPTION

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

TRANSCRIPT

  • 1.
    • Viso computacional
              • python e opencv

2. Opencv o que ?

  • OpenCV (Open Source Computer Vision Library). Originalmente, desenvolvida pela Intel, em 2000, uma biblioteca multiplataforma, totalmente livre ao uso acadmico e comercial, para o desenvol-vimento de aplicativos na rea de Viso Compu-tacional.O OpenCV possui mdulos de Processa-mento de Imagens e Video I/O, Estrutura de dados, lgebra Linear, GUI (Interface Grfica do Usurio) Bsica com sistema de janelas independentes.

3. Onde usada.

  • Identificao de objetos

4. Sistema de reconhecimento facial 5. Reconhecimento de movimentos 6. Gravao de vdeos 7. Instalao

      • O primeiro passo instalar alguns pacotes necessrios para funcionamento do opencv. Abra o terminal e digite o comando seguir:
    • 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. Depois de instalar estes pacotes abra o Synaptic e procurepor opencv marque todos os pacotes exceto o harpia.

10. Mas o que viso computacional?

  • Viso computacional a cincia e tecnologia das mquinas que enxergam. Ela desenvolve teoria e tecnologia para a construo de sistemas artificiais que obtm informao de imagens ou quaisquer dados multi-dimensionais.

11.

  • Vamos de cdigo.

12.

  • Mostrando uma imagem

# -*- coding: utf-8 -*-from opencv.cv import * #importa o modulo cv from opencv.highgui import * #importa o modulo highgui img = cvLoadImage("figura.bmp") #carrega uma imagem(figura.bmp) para a #variavel img cvNamedWindow("teste") #cria uma janela com o nome de "teste" cvShowImage("teste", img) #mostra a imagem contida em "img" na janela "teste" cvWaitKey(0) #espera at que se aperte alguma tecla 13.

  • Exibindo um vdeo

# -*- coding: utf-8 -*-from opencv.cv import *from opencv.highgui import *c = 't' #inicializa a variavel "c" capture = cvCreateFileCapture("video.flv") #carrega o video "fifa.flv" na variavel captureframe = cvQueryFrame(capture) #extrai o primeiro frame do vdeo e armazena em "frame"cvNamedWindow("janela") while not(frame is None) and (c!='e'):#cria um loop que ira atualizar os frames mostrados cvShowImage("janela", frame) c = cvWaitKey(30) frame = cvQueryFrame(capture) 14.

  • Deteco de contornos
  • # -*- coding: utf-8 -*-
  • from opencv.cv import *

15. from opencv.highgui import * 16. img = cvLoadImage("figura.bmp") 17. im_gray = cvCreateImage(cvGetSize(img), 8, 1)#cria a imagem que #receber a imagem original convertida em tons de cinza 18. im_canny = cvCreateImage(cvGetSize(img), 8, 1)#cria a imagem que #receber os contornos da imagem original 19. cvCvtColor(img, im_gray, CV_BGR2GRAY)#converte a imagem original em escala de cinza 20. cvCanny(im_gray, im_canny, 100, 150, 3)#detecta os contornos na imagem 21. cvNamedWindow("teste") 22. cvShowImage("teste", im_canny) 23. cvWaitKey(0) 24. Resultado 25.

  • Trackbar

# -*- 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("teste", im_canny) def trackBar1(position): global limiar1 limiar1 = position on_trackbar() 26. continuao def trackBar2(position): global limiar2 limiar2 = position on_trackbar() if __name__=="__main__": img = cvLoadImage("img692") cvNamedWindow("teste") cvCreateTrackbar("treshold1", "teste", 1, 100, trackBar1) #cria uma trackbar de nome "treshold1" na janela "teste" cvCreateTrackbar("treshold2", "teste", 100, 200, trackBar2) #cria uma trackbar de nome "treshold1" na janela "teste" trackBar1(1) cvWaitKey(0) 27.

  • Deteco de objetos
  • # -*- coding: utf-8 -*-

28. from opencv.cv import* 29. from opencv.highgui import* 30. if __name__=="__main__": 31. cvNamedWindow("teste") 32. im = cvLoadImage("figura.bmp") 33. im_gray = cvCreateImage(cvGetSize(im), 8, 1) 34. cvCvtColor(im, im_gray, CV_BGR2GRAY) 35. nb, contours = cvFindContours(im_gray, cvCreateMemStorage()) 36. #encontra os os contornos dos objetos na cena 37. cvDrawContours(im, contours, CV_RGB(0, 255, 0), CV_RGB(255, 0, 0), 2, 2, 8) 38. #traa os contornos encontrados anteriormente 39. cvShowImage("teste", im) 40. cvWaitKey(0)