Este es un código pequeño para cambiar el tamaño de una imagen a un porcentaje deseado de un original. El nuevo tamaño de ancho y altura se calcula a partir de un porcentaje suministrado como un tercer argumento. Suministro del 100% simplemente copiará la imagen original a una nueva imagen.
CVRESIZE también acepta un argumento de interpolación, sin embargo, en el caso de este pequeño programa, utilizamos la interpolación lineal predeterminada.
#incluir
#Include "CV.H "
#Include "Highgui.H "
usando el espacio de nombres STD;
int main (int argc, char ** argv)
// Crear una imagen IPLIMAGE *
IPlImage *fuente = cvLoadImage (argv [1]);
// Aquí recuperamos un valor porcentual a un entero
int porcentar = Atoi (argv [3]);
// Declarar un objeto de iPlimage de destino con tamaño, profundidad y canales correctos
IPlimage *Destino = CVCreateImage
(cvSize ((int) ((fuente-> ancho*porcentaje)/100), (int) ((fuente-> altura*porcentaje)/100))),
fuente-> profundidad, fuente-> nchannels);
// Use cvResize para cambiar el tamaño de la fuente a una imagen de destino
cvResize (fuente, destino);
// Guardar imagen con un nombre suministrado con un segundo argumento
cvsaveImage (argv [2], destino);
regresar 0;
Compilar:
G ++ 'PKG-Config OpenCV--CFlags-Libs' resize_image.CPP -O RESIZE_IMAGE
Uso:
./resize_image DSC00056.JPG new_dsc00056.JPG 65%