Boost.GIL
Biblioteca de imagens genéricas C++ de código aberto
API C++ que abstrai representações de imagens de algoritmos e oferece suporte ao trabalho com imagens simples e complexas. Gere um histograma, calcule gradientes de imagem, convolução e reamostragem e assim por diante.
As imagens são a parte fundamental de muitos projetos relacionados com, vídeo digital, visão de computador e de imagem. Além disso, as imagens podem ser obtidas de diversas formas (espaço de cor, profundidade de bits, ordem de canal, política de amento, etc.)., em um novo projeto relacionado à imagem que pode ser genérico, bem como eficiente é muito desafiador. A Boost Generic Image Library (IL) é uma biblioteca de código aberto que dá aos desenvolvedores de software a de com imagens simples e complexas dentro de seus C++ aplicativos.
A grande coisa sobre a biblioteca Boost.IL é que ele abstrata representações de imagem de algoritmos e permite a escrita de código que pode em uma de imagens com desempenho comparável à escrita à mão para um determinado tipo de imagem. Assim, torna os trabalhos do desenvolvedor fácil, - escrever código uma vez e tê-lo trabalho para qualquer tipo de imagem.
A biblioteca Boost.IL é projetada como um elogio TL e Boost. Outro grande aspecto da biblioteca é velocidade e. A velocidade tem sido uma parte do projeto da biblioteca. Você pode facilmente definir qualquer de imagem a tempo de para um custo de desempenho muito menor em comparação com muitas outras bibliotecas. Ele suporte para vários recursos importantes, como pixels não-alinhados, gradientes de imagem de computação, Boots, atribuindo um canal a um pixel de escala cinza, consolação e ragem, etc.
Introdução ao Boost.GIL
A maneira mais fácil de instalar o Boost.GIL é usando o GitHub. Por favor, use o seguinte comando para uma instalação suave
Instale Boost.GILvia GitHub.
git clone --https://github.com/boostorg/gil
Lendo e escrevendo imagens
Histograma é a representação gráfica da distribuição tonal em uma imagem digital. No contexto de processamento de imagem, o histograma de uma imagem normalmente se refere a um histograma dos valores de intensidade do pixel. A biblioteca Boost.GIL permite que desenvolvedores de software gerem um histograma dentro de seu próprio aplicativo usando código C++. Ele pode ser gerado contando o número de valores de pixel que caem em cada bin. Você também pode calcular o histograma de luminosidade da imagem com facilidade.
Escrever Imagem através 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));
}
Operações de imagem em nível de pixel usando a API C++
A biblioteca de código aberto Boost.IL forneceu suporte completo para de imagem de nível pixel dentro de suas C++ aplicações. A biblioteca incluiu algumas úteis que aos usuários manusear valores de pixel, ponteiros de pixel e de pixels, como fazer um pixel colorido, acessando um canal, comparando os dois canais, construindo um plano de constar.
Converter espaço de cor para escala de cinza por 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);
}
Transformação de imagem dentro C++ Apps
A biblioteca open source Boost.IL dá aos programadores software a de rodar imagens com apenas algumas de código. O Boost.IL uma de de imagem que podem realizar qualquer rotação por eixos, imagem flip vertical ou horizontalmente, extrair uma sub-imagem retangular, a conversão de cor 90, , rotações especiais
Transformação de imagem através C++ API
template
void y_gradient(const SrcView& src, const DstView& dst) {
x_gradient(rotated90ccw_view(src), rotated90ccw_view(dst));
}