100% encontró este documento útil (2 votos)
403 vistas50 páginas

Introducción a Python y OpenCV

Este documento describe OpenCV y Python. OpenCV es una biblioteca de visión por computadora y Python es un lenguaje de programación. La biblioteca OpenCV proporciona funciones para realizar tareas de procesamiento de imágenes, análisis de video y reconocimiento de patrones. Está compuesta por los módulos Core y Highgui. Core contiene estructuras de datos básicas y funciones de procesamiento de imágenes, mientras que Highgui proporciona interfaces gráficas.

Cargado por

jemilson25
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
403 vistas50 páginas

Introducción a Python y OpenCV

Este documento describe OpenCV y Python. OpenCV es una biblioteca de visión por computadora y Python es un lenguaje de programación. La biblioteca OpenCV proporciona funciones para realizar tareas de procesamiento de imágenes, análisis de video y reconocimiento de patrones. Está compuesta por los módulos Core y Highgui. Core contiene estructuras de datos básicas y funciones de procesamiento de imágenes, mientras que Highgui proporciona interfaces gráficas.

Cargado por

jemilson25
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

OpenCV Python

Algaba Borrego, Miguel


Fernndez Gersol, Jernimo
Llamas Iniesta, Jaime

Python

Python
Lenguaje de programacin de alto nivel.
Surge a finales de los aos 80 (Guido Van
Rossum) como sucesor del lenguaje ABC.

Su nombre proviene de la
aficin de su creador por los
Monthy Python.
3

Python
El objetivo de Guido era cubrir la
necesidad de un lenguaje orientado a
objetos de sencillo uso que sirviese
para tratar diversas tareas dentro de
la programacin que habitualmente
se haca en Unix usando C.
Actualmente trabaja en Zope, una plataforma de
gestin de contenidos y servidor de aplicaciones
para el web, por supuesto, programada por
completo en Python.

Python
Es un lenguaje interpretado, no es necesario
compilar el cdigo fuente para ejecutarlo.
En los ltimos aos se ha hecho popular:
Gran cantidad de libreras, tipos de datos y
funciones que contiene.
Sencillez y rapidez para crear programas. Puede
tener de 3 a 5 lneas de cdigo menos que C o
Java por cada 10 lneas.
Es gratuito para propsitos empresariales.

Python
Conclusin:
Python se encuentra en movimiento y pleno
desarrollo, pero ya es una realidad para realizar
todo tipo de programas que se ejecuten en
cualquier mquina.
Algunas de las empresas que utilizan Python son
Google, Yahoo, la NASA, Walt Disney
Aunque la documentacin de este lenguaje se
encuentra en Ingls, su creciente popularidad hace
que vayan apareciendo los primeros tutoriales en
lenguaje hispano.

Caractersticas
Lenguaje de programacin multiparadigma.
Programacin orientada a objetos.
Programacin imperativa.
Programacin funcional.

Dinmicamente tipificado.
Informacin menos explcita en el cdigo.
Verificaciones en tiempo de ejecucin.
7

Caractersticas
Recoleccin de basura.
CPython
Es la implementacin ms usada.
Est escrita en C.
Soporta mltiples plataformas (Linux, Solaris, Mac
OS X, Windows, BSD, ).
Provee una API para el lenguaje C lo que supone
hacer este lenguaje fcilmente extensible
(mdulos C y C++).
8

Caractersticas
Filosofa anloga a Unix.
Cdigo pythnico.
Principios:
Simple es mejor que complejo.
La legibilidad cuenta.
Ahora es mejor que nunca.
Los casos especiales no son tan especiales como
para quebrantar las reglas.

Elementos del lenguaje


Python fue diseado para ser ledo con
facilidad.
El contenido de los bloques de cdigo (bucles,
funciones, clases, etc..) es declarado mediante
espacios o tabuladores (identacin).

10

Elementos del lenguaje


Tipos de datos
Tipo

Clase

Notas

Ejemplo

int

Entero

Nmero entero

30

float

Decimal

Coma flotante

3.1416

bool

Booleano

Valor verdadero o falso

True, False

str

Cadena

Inmutable

Hola

list

Secuencia

Mutable

[3.0, Hola]

tuple

Secuencia

Inmutable

(3.0,Hola)

set

Conjunto

Mutable, sin orden, sin duplicados

Set([3.0,Hola])

frozenset

Conjunto

Inmutable, sin orden, sin duplicados

Frozenset([3.0,Hola])

11

Elementos del lenguaje


Listas y tuplas:
Las listas se caracterizan por ser mutables, es
decir, pueden cambiar su contenido en tiempo
de ejecucin, mientras que las tuplas son
inmutables.
LISTA = [ elementos* ]
TUPLA = ( elementos* )

12

Elementos del lenguaje


Diccionarios (mapping):
Contienen elementos separados por comas,
donde cada elemento est formado por un par
clave:valor . Los valores son mutables pero no
as sus claves.
MAPPING = { clave:valor * }

13

Elementos del lenguaje


Conjuntos:
Se construyen mediante set(items) donde items
es cualquier objeto iterable, como listas o
tuplas. Los conjuntos no mantienen el orden ni
contienen elementos duplicados.
CONJUNTO = set([(lista | tupla)*])

14

Elementos del lenguaje


Listas por comprensin:
Acumulan en una lista los valores generados por
expresiones generadoras. La sintaxis de una lista
por compresin es:
[ expresin de los elementos | expresin generadora ]

15

Funciones
Las funciones definen mediante la palabra
clave def, seguida del nombre de la funcin y
sus parmentros.

Otra forma de escribir funciones es mediante


la palabra clave lambda (como en LISP).
El valor devuelto ser el que indique la
instruccin return.
16

Clases
Las clases se definen mediante la palabra clave
class, seguida del nombre la clase y, si hereda de
otra clase, el nombre de esta.

De forma parecida a otros lenguajes de


programacin donde existen restricciones de
acceso a una variable o mtodo, en Python se
utilizan las barras bajas __ antes del nombre
para indicar la privacidad (funciones) y la palabra
reservada self (propiedades).
17

Mdulos
Existen muchas propiedades que se pueden
agregar al lenguaje importando mdulos, que
son "minicdigos" (la mayora escritos
tambin en Python) que proveen de ciertas
funciones y clases para realizar determinadas
tareas.
Import os ([Link])
Import tkInter
Import time ([Link])
18

Core y Highgui

Core

Basic Structures
Operations on Arrays
Dynamic Structures
Drawing functions
XML/YAML Persistence
Clustering
Utility and System Functions and Macros

Basic Structures
CvPoint y variantes
CvPoint 2D32f, CvPoint3D32f, CvPoint2D64f, CvPoint3D64f

CvSize
CvRect
CvScalar
CvArr, CvMat, IplImage
CvTermCriteria

Operations on Arrays
Operaciones aritmticas (Add, Sub, Mul, Div,
Pow, Sqrt)
Operaciones lgicas (Not, And, Or, Xor)
Operaciones de transformacin
Lineales (ConvertScale, ConvertScaleAbs)
No Lineales (PerspectiveTransform, DCT, DFT)

Otras:
EigenVV, LUT, Flip, Inv, Round, SolveCubic, Split

Operations on Arrays

Dynamic Structures

CvMemStorage
CvSeq
CvSet
CloneSeq
CreateMemStorage
SeqInvert
SeqRemove
SeqRemoveSlice

Drawing Functions
Dibujado geomtrico:
Circle, Ellipse, Line, PolyLine, Rectangle

Texto:
InitFont, PutText, GetTextSize

Funciones complejas:
DrawContours, FillConvexPoly

XML/YAML Persistence
til para guardar/cargar archivos de
configuracin en/desde ficheros XML/YAML.
Load
Save

Clustering
Kmeans 2
Funcin que implementa un algoritmo k-means.

Highgui
Mdulo de interfaces grficas de usuario y
componentes multimedia.
Compatible en el uso con frameworks ms
complejos de interfaces grficas.
Se compone de dos submdulos principales:
User Interface
Reading and Writing Images and Video

User Interface
CreateTrackbar, GetTrackbarPos,
SetTrackbarPos
DestroyWindow, DestroyAllWindows
NamedWindow, MoveWindow, ResizeWindow
SetMouseCallback
ShowImage
WaitKey

Reading and Writing Images and Video


LoadImage, LoadImageM, SaveImage
CvCapture, CaptureFromCAM,
CaptureFromFile, GetCaptureProperty,
SetCaptureProperty
GrabFrame, RetrieveFrame, QueryFrame
CreateVideoWriter, WriteFrame

Reading and Writing images and Video

Reading and Writing images and Video

Image Processing

Image Processing

Histograms
Image Filtering
Geometric Image Transformations
Miscellaneous Image Transformations
Structural Analysis and Shape Descriptors
Feature Detection

Histograms
Clculo del histograma
Comparacin de
histogramas
Mnimos y mximos del
histograma
Umbralizacin del
histograma

Image Filtering
Incluye funciones y clases
para aplicar filtros lineales
y no lineales
Filtros de convolucin 2D
Paso alta/baja (Laplace,
Sobel, Gauss, )

Operaciones con
elementos estructurantes
Dilatacin/Erosin
Apertura/Cierre

Image Filtering

Geometric Image Transformations


Incluye funciones que aplican
transformaciones geomtricas a
las imgenes
Transformaciones Eucldeas
Rotacin, Traslacin, Matriz de
rotacin,

Transformaciones afines
Escalado de ejes, Matriz de
transformacin afn,

Transformaciones proyectivas
Perspectiva, Matriz proyectiva,

Geometric Image Transformations

Miscellaneous Image Transformations


Cambiar entre espacios de
color
RGB-GRAY, RGB-HSV,

Componente conexa
Clculo de componente
conexa, Rellenado por
inundacin,

Segmentacin
Piramidal, Umbralizacin,

Miscellaneous Image Transformations

Structural Analysis and Shape


Descriptors

Extraccin de contornos
Aproximacin poligonal
Clculo del permetro de un contorno
Clculo del rea interior de un
contorno
Clculo del rectngulo de
recubrimiento
Clculo de envolvente convexa
Clculo del centroide
Clculo de los momentos de Hu

Structural Analysis and Shape


Descriptors

Feature Detection
Deteccin de bordes
Operador de Canny

Deteccin de
esquinas
Operador de Harris

Deteccin de rectas
Transformada de
Hough

Feature Detection

GRACIAS POR VUESTRA ATENCIN

Image Processing: Demos

Referencias
Documentacin de Python:
[Link]
Descripcin general de CPython:
[Link]
Pequeo tutorial de Python
[Link]
equeno_tutorial_de_Pyhton.html

48

Referencias
Documentacin OpenCV 2.2 Python:
[Link]
Imgenes:
[Link]
a

Enlaces interesantes
Python en Google
[Link]
Python en Walt Disney
[Link]
n/news/disney_0201.html

También podría gustarte