1. Productos
  2.   Imagen
  3.   C++
  4.   Boost.GIL

Boost.GIL

 
 

Biblioteca de imágenes genéricas de C++ de código abierto

API de C++ que abstrae las representaciones de imágenes de los algoritmos y permite trabajar con imágenes simples y complejas. Genere un histograma, calcule gradientes de imagen, convolución y remuestreo, etc.

Las imágenes son la parte fundamental de muchos proyectos relacionados con gráficos, vídeo digital, visión informática y procesamiento de imágenes. Además, las imágenes pueden estar representadas de muchas maneras diferentes (espacio, profundidad de colores, orden de canal, política de alineación, etc.). Así que trabajar en un nuevo proyecto relacionado con la imagen que puede ser genérico y eficiente es muy difícil. Boost Genérico Image Library (IL) es una biblioteca de fuentes abiertas que da a los desarrolladores de software la capacidad de trabajar con imágenes simples y complejas dentro de sus C++ aplicaciones.

Lo bueno de la biblioteca Boost.IL es que abstracta representaciones de imagen de algoritmos y permite escribir código que puede trabajar en una variedad de imágenes con un rendimiento comparable a la escritura a mano para un tipo de imagen particular. Así que facilita los trabajos del desarrollador permitiéndoles escribir código una vez y hacerlo funcionar para cualquier tipo de imagen.

La biblioteca Boost.IL está diseñada como un cumplido TL y Boost. Otro gran aspecto de la biblioteca es la velocidad y la flexibilidad. Speed ha sido una parte clave del diseño de la biblioteca. Puede definir fácilmente cualquier parámetro de imagen a tiempo de funcionamiento para un costo de rendimiento muy menor en comparación con muchas otras bibliotecas. Proporciona soporte para varias características importantes tales como píxeles no alineados, gradientes de imagen computarizada, integración de botas, asignando un canal a un píxel de escala gris, consolación muestreo,

Previous Next

Primeros pasos con Boost.GIL

La forma más fácil de instalar Boost.GIL es usando GitHub. Utilice el siguiente comando para una instalación sin problemas

Instale Boost.GIL a través de GitHub.

git clone --https://github.com/boostorg/gil

Lectura y escritura de imágenes.

El histograma es la representación gráfica de la distribución tonal en una imagen digital. En el contexto del procesamiento de imágenes, el histograma de una imagen normalmente se refiere a un histograma de los valores de intensidad de píxeles. La biblioteca Boost.GIL permite a los desarrolladores de software generar un histograma dentro de su propia aplicación usando código C++. Se puede generar contando el número de valores de píxeles que caen en cada contenedor. También puede calcular el histograma de luminosidad de la imagen con facilidad.

Imagen de escritura vía C++ API

#define png_infopp_NULL (png_infopp)NULL
#define int_p_NULL (int*)NULL
#include 
#include 
using namespace boost::gil;
int main()
{
    rgb8_image_t img(512, 512);
    rgb8_pixel_t red(255, 0, 0);
    fill_pixels(view(img), red);
    png_write_view("redsquare.png", const_view(img));
}

Operaciones de imagen a nivel de píxel con la API de C++

La biblioteca de fuentes abiertas Boost.IL ha proporcionado soporte completo para operaciones de imagen a nivel píxel dentro de sus propias C++ aplicaciones. La biblioteca ha incluido algunas operaciones útiles que permiten a los usuarios manejar los valores de pixel, píxeles pointers y pixeles referencias, como hacer un pixel colorado, acceder a un canal, comparando los dos canales, construyendo

Convertir el espacio para el color en Grayscale vía C++


  template 
void x_luminosity_gradient(SrcView const& src, DstView const& dst)
{
  using gray_pixel_t = pixel::type, gray_layout_t>;
  x_gradient(color_converted_view(src), dst);
}

Transformación de imagen en C++ aplicaciones

La biblioteca Boost.IL de código abierto proporciona a los programadores la capacidad de rotar imágenes con sólo un par de líneas de código. El Boost.IL soporta una variedad de funciones de transformación de imagen que pueden realizar cualquier rotación alineada con ejes, voltear la imagen vertical o horizontalmente, extraer una subimagen rectangular, aplicar la conversión de color, , 180, así giraciones especiales

Transformación de imagen vía C++ API


  template 
  void y_gradient(const SrcView& src, const DstView& dst) {
      x_gradient(rotated90ccw_view(src), rotated90ccw_view(dst));
  }
 Español