Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Procesamiento de Imágenes I

No description
by

José María Massa

on 24 May 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Procesamiento de Imágenes I

Procesamiento de Imágenes I
Clase práctica
Nivel de abstracción en el procesamiento de imágenes

Trabajos Prácticos 1 y 2

Nivel de abstracción en el procesamiento de imágenes
Procesamiento en hardware
Representación propia
Representación del lenguaje
Representación del S.O.
Uso de Frameworks de PDI
Sofware de aplicación
El S.O. provee clases/estructuras para representar las imágenes y funciones/métodos para realizar procesamiento básico.
El programador debe construir clases/estructuras para representar las imágenes y funciones/métodos para realizar procesamiento avanzado
Provee clases para representar las imagenes y métodos para procesamiento avanzado generalmente ocultando al usuario detalles de implementación
El lenguaje provee clases/estructuras para representar las imágenes y funciones/métodos para realizar procesamiento básico
El Framework provee clases para representar las imágenes y métodos para realizar procesamiento avanzado.
Representación propia
BMP (ver bmpformat.doc)
JPG
PNG
TIFF
...

Sitio con especificaciones de miles de formatos gráficos y no gráficos
http://www.wotsit.org
Formato propio
Formato libre
Formato propietario
Representación del S.O.
Sofware de aplicación (usuario final)
Bibliotecas de PDI
Photoshop, Corel Draw, etc.
Matlab, Scilab, etc.
OpenCV, ImageJ, etc.
EasyBMP, CIMG, etc.
BufferedImage, TBitmap, Bitmap
Windows Bitmap
Procesamiento en Hardware
Las bibliotecas proveen clases para representar las imágenes y métodos para realizar procesamiento básico y avanzado.
-->path_pdi = "..."
-->im = imread(path_pdi + "\imagenes\lena8b512.bmp");

-->imshow(im)
-->imrgb = imread(path_pdi + "\imagenes\lenargb.bmp");
-->z=RGB2Gray(imrgb)
-->imshow(z)
-->E = edge(z1, 'sobel')
-->imshow(E)
-->
-->path_pdi = "..."
-->im =lena8b512 = ReadImage(path_pdi + "\pgm\lena8b512.pgm")

-->figure(); ShowImage(lena8b512,'pgm')
Utilizando el paquete de imágenes ATOMS
Utilizando la biblioteca Standard (módulo SIVP)
Procesamiento de Imágenes I
Scilab
Bitmap *pbmp;
LPCTSTR lpszPathName;

FILE *fp=fopen(lpszPathName,"rb");
pbmp = new Bitmap(fp);
fclose(fp);
Se declara un puntero a un objeto de la clase Bitmap
Se construye un objeto de la clase Bitmap a partir de un archivo
long width=b->getWidth();
long height=b->getHeight();
b->getColor(i,j);
Se invocan a los métodos de la clase Bitmap
Representación del lenguaje
Java
Posee varias alternativas para leer, escribir y procesar imágenes, dependiendo del paquete que se use.
La alternativa mas sencilla es utilizar la clase BufferedImage
public class PDI {
public static void main(String[] args) {
// TODO code application logic here
BufferedImage img;
try {
img = ImageIO.read(new File("\\imagenes\\lena8b512.bmp"));
int j = img.getType();
System.out.println(j);
} catch (IOException e) {
}
}
Objeto de la clase BufferedImage
Resuelve todas las cuestiones de formato
Invocación a métodos de la clase
Otra forma es utilizar Java Advanced Imaging (JAI)
(ver pdf)
Representación del lenguaje
Delphi
La biblioteca VCL permite leer distintos formatos y operar sobre los pixeles de la imagen
procedure CargaImagen;
var Imagen: TBitmap;
begin
Imagen := TBitmap.Create;
Imagen.LoadFromFile('c:\prueba.bmp');
Imagen.Free;
end;
procedure TForm1.EjemploPixels;
var Imagen: TBitmap;
begin
Imagen := TBitmap.Create;
Imagen.Width := 100;
Imagen.Height := 100;
Imagen.Canvas.Pixels[10,20] := $00FFFFFF;
Image1.Picture.Bitmap.Assign(Imagen);
Imagen.Free;
end;

Bibliotecas de PDI
EasyBMP
Multiplataforma, sólo tiene soporte para BMP
PGM Lib
Multiplataforma, sólo tiene soporte para PGM
(ver pdf)
ImageJ / Fiji
OpenCV
Frameworks
Java, Multiplataforma, soportado por el NIH, Código Abierto
Multilenguaje, Java, Multiplataforma, creado por Intel, Código Abierto
Frameworks
http://imagej.nih.gov/ij/
Clases
Usos:
Plugins/Macros
Extender la aplicación
Uso como Biblioteca
ImageJ
http://scilabimge.blogspot.com.ar/2012/03/reading-image-in-scilab.html
Full transcript