Práctica 3. TDA Imagen
|
T.D.A. Imagen. Más...
#include <image.h>
Métodos públicos | |
Image () | |
Constructor por defecto . Más... | |
Image (int nrows, int ncols, byte value=0) | |
Constructor con parámetros. Más... | |
Image (const Image &orig) | |
Constructor de copias. Más... | |
~Image () | |
Oper ador de tipo destructor. Más... | |
Image & | operator= (const Image &orig) |
Operador de asignación . Más... | |
bool | Empty () const |
Funcion para conocer si una imagen está vacía. Más... | |
int | get_rows () const |
Filas de la imagen . Más... | |
int | get_cols () const |
Columnas de la imagen. Más... | |
int | size () const |
Devuelve el número de píxeles de la imagen. Más... | |
void | set_pixel (int i, int j, byte value) |
Asigna el valor valor al píxel (i , j ) de la imagen. Más... | |
byte | get_pixel (int i, int j) const |
Consulta el valor del píxel (fil, col) de la imagen. Más... | |
byte | get_pixel (int k) const |
Consulta el valor del píxel k de la imagen desenrrollada. Más... | |
void | set_pixel (int k, byte value) |
Asigna el valor valor al píxel k de la imagen desenrollada. Más... | |
bool | Save (const char *file_path) const |
Almacena imágenes en disco. La diferencia con Image::MySave() es que usa la representación secuencial en memoria, por lo que no funciona con la representación modificada. Más... | |
bool | MySave (const char *file_path) const |
Almacena imágenes en disco. La diferencia con Image::Save() es que no usa la representación secuencial en memoria, por lo que funciona con la representación modificada. Más... | |
bool | Load (const char *file_path) |
Carga en memoria una imagen de disco . Más... | |
void | Invert () |
Calcula el negativo de la imagen llamadora. Más... | |
void | AdjustContrast (byte in1, byte in2, byte out1, byte out2) |
Modifica el contraste de una Imagen mediante un ajuste lineal. Más... | |
double | Mean (int i, int j, int height, int width) const |
Calcula la media de los píxeles de una imagen entera o de un fragmento de ésta. Más... | |
Image | Subsample (int factor) const |
Genera un icono como reducción de una imagen. Más... | |
Image | Crop (int nrow, int ncol, int height, int width) const |
Hace un recorte de una imagen. Más... | |
Image | Zoom2X () const |
Genera una imagen aumentada 2x. Más... | |
void | ShuffleRows_noeff () |
Método que baraja pseudoaleatoriamente las filas de una imagen. Código de eficiencia de orden rows*cols. Más... | |
void | ShuffleRows_eff () |
Método que baraja pseudoaleatoriamente las filas de una imagen. Código de eficiencia de orden rows. Más eficiente, pero a costa de variar la representación de nuestro tipo. Más... | |
bool | operator== (const Image &other) const |
Operador ==, para comparar dos imágenes. Más... | |
T.D.A. Imagen.
Una instancia del tipo de dato abstracto Imagen nos permite almacenar imágenes de intensidades.
El TDA Imagen proporciona además distintas herramientas para la manipulación de dichas imágenes.
Para poder usar el TDA Imagen se debe incluir el fichero
#include <Imagen.h>
Image::Image | ( | ) |
Constructor por defecto .
Image::Image | ( | int | nrows, |
int | ncols, | ||
byte | value = 0 |
||
) |
Constructor con parámetros.
nrows | Número de filas de la imagen. |
ncols | Número de columnas de la imagen. |
value | defecto Valor con el que inicializar los píxeles de la imagen . Por defecto O. |
nrows
> O y ncols
> O nrows
y ncols
columnas. Estará inicializada al valor por defecto. Image::Image | ( | const Image & | orig | ) |
Constructor de copias.
orig | Referencia a la imagen original que se quiere copiar. |
Image::~Image | ( | ) |
Oper ador de tipo destructor.
Modifica el contraste de una Imagen mediante un ajuste lineal.
Los nuevos valores de los píxeles estarán en el rango:
in1 | Extremo superior del primer rango de la imagen de entrada ( \(e_1\) en la imagen). |
in2 | Extremo superior del segundo rango de la imagen de entrada ( \(e_2\) en la imagen). |
out1 | Extremo superior del primer rango de la imagen de salida ( \(s_1\) en la imagen). |
out2 | Extremo superior del segundo rango de la imagen de salida ( \(s_2\) en la imagen). |
Image Image::Crop | ( | int | nrow, |
int | ncol, | ||
int | height, | ||
int | width | ||
) | const |
Hace un recorte de una imagen.
nrow | Fila inicial para recortar |
ncol | Columna inicial para recortar |
height | Número de filas del recorte |
width | Número de columnas del recorte |
bool Image::Empty | ( | ) | const |
Funcion para conocer si una imagen está vacía.
int Image::get_cols | ( | ) | const |
Columnas de la imagen.
byte Image::get_pixel | ( | int | i, |
int | j | ||
) | const |
Consulta el valor del píxel (fil, col) de la imagen.
i | Fila de la imagen en la que se encuentra el píxel a consultar. |
j | Columna de la imagen en la que se encuentra el píxel a consultar. |
byte Image::get_pixel | ( | int | k | ) | const |
Consulta el valor del píxel k de la imagen desenrrollada.
k | Índice del píxel |
int Image::get_rows | ( | ) | const |
Filas de la imagen .
void Image::Invert | ( | ) |
Calcula el negativo de la imagen llamadora.
bool Image::Load | ( | const char * | file_path | ) |
Carga en memoria una imagen de disco .
file_path | Ruta donde se encuentra el archivo desde el que cargar la imagen. |
file_path
debe ser una ruta válida que contenga un fichero . pgm double Image::Mean | ( | int | i, |
int | j, | ||
int | height, | ||
int | width | ||
) | const |
Calcula la media de los píxeles de una imagen entera o de un fragmento de ésta.
i | Fila de la esquina superior izquierda desde donde empieza el recorte |
j | Columna de la esquina superior izquierda desde donde empieza el recorte |
height | Número de filas que ocupa el recorte. |
width | Número de columnas que ocupa el recorte. |
height
, width
, i
, j
i+height
<= get_rows() j+width
<= get_cols() bool Image::MySave | ( | const char * | file_path | ) | const |
Almacena imágenes en disco. La diferencia con Image::Save() es que no usa la representación secuencial en memoria, por lo que funciona con la representación modificada.
file_path | Ruta donde se almacenará la imagen. |
Operador de asignación .
orig | Referencia a la imagen original que desea copiarse. |
bool Image::operator== | ( | const Image & | other | ) | const |
Operador ==, para comparar dos imágenes.
other | Imagen con la que comparar |
true | si ambas imágenes son iguales pixel a pixel |
false | si, al menos, hay un pixel distinto o tienen dimensiones distintas. |
bool Image::Save | ( | const char * | file_path | ) | const |
Almacena imágenes en disco. La diferencia con Image::MySave() es que usa la representación secuencial en memoria, por lo que no funciona con la representación modificada.
file_path | Ruta donde se almacenará la imagen. |
void Image::set_pixel | ( | int | i, |
int | j, | ||
byte | value | ||
) |
Asigna el valor valor al píxel (i
, j
) de la imagen.
i | Fila de la imagen en la que se encuentra el píxel a escribir . |
j | Columna de la imagen en la que se encuentra el píxel a escribir. |
value | Valor que se escribirá en el píxel (i , j ) . |
i
< get_rows() j
< get_cols() value
<= 255 i
, j
) de la imagen se modificará y contendrá valor value
. Los demás píxeles permanecerán iguales. void Image::set_pixel | ( | int | k, |
byte | value | ||
) |
Asigna el valor valor al píxel k de la imagen desenrollada.
k | Índice del píxel a escribir . |
value | Valor que se escribirá en el píxel k. |
void Image::ShuffleRows_eff | ( | ) |
Método que baraja pseudoaleatoriamente las filas de una imagen. Código de eficiencia de orden rows. Más eficiente, pero a costa de variar la representación de nuestro tipo.
donde r' es el nuevo índice de la fila r y p es un coprimo de rows. En este algoritmo usamos p=9973, pero se podría modificar.
void Image::ShuffleRows_noeff | ( | ) |
Método que baraja pseudoaleatoriamente las filas de una imagen. Código de eficiencia de orden rows*cols.
donde r' es el nuevo índice de la fila r y p es un coprimo de rows. En este algoritmo usamos p=9973, pero se podría modificar.
int Image::size | ( | ) | const |
Devuelve el número de píxeles de la imagen.
Image Image::Subsample | ( | int | factor | ) | const |
Genera un icono como reducción de una imagen.
factor | Factor de reducción de la imagen original respecto al icono |
Image Image::Zoom2X | ( | ) | const |
Genera una imagen aumentada 2x.