Biblioteca de processamento de imagens mais rápido de código aberto para C++
Criar, manipular, desenhar, dividir, copiar e converter formatos de imagem populares; Aplique filtros, divida duas imagens, coloque uma imagem em grade por meio da Biblioteca C++ gratuita.
A libvips é uma biblioteca de processamento de imagem avançada de código aberto que usa muito pouca memória e executa operações muito rápidas. A biblioteca pode lidar facilmente com imagens grandes e suporta uma variedade decente de formatos de arquivo de imagem, como JPEG, TIFF, PNG, WebP, HEIC, FITS, Matlab, OpenEXR, PDF, SVG, HDR, PPM / PGM / PFM, CSV, GIF , Analisar, NIfTI, DeepZoom e OpenSlide. Ele pode carregar imagens facilmente via ImageMagick ou GraphicsMagick, permitindo trabalhar com formatos como DICOM.
O método primitivo é sensato e algumas técnicas de uso como a geração de código em tempo de o rápido de imagens. Em comparação com outras bibliotecas de de imagens, foi sugerido que a libris precisa de pouco AM e correr mais rápido, especialmente em máquinas com Caps. Isto é principalmente por causa da arquitetura inteligente que usa que divide o de trabalho de imagem.
A biblioteca oferece suporte para uma gama de tipos numéricos, desde simples 8-bit int até o complexo 128-bit. A maioria das bibliotecas de de imagem usa roscadas, mas a libris, por outro lado, colocar o rosqueamento na imagem No sistema e atribuir uma de todo o oleoduto de imagem para cada linha para nela. Este estilo de rosca horizontal faz melhor uso de caches de processador e de.
A biblioteca libris é uma biblioteca de de imagens que oferece melhor desempenho do que muitas outras bibliotecas. A biblioteca forneceu suporte para várias características importantes de de imagens, como imagens de desenho, dividindo duas imagens, desenhando uma resolução em uma imagem, copiando uma imagem, pintando uma imagem em outra imagem.
Começando com libvips
Clone as fontes mais recentes usando o comando a seguir.
Install libris via comando git
git clone git://github.com/libvips/libvips.git
Construir a partir do git precisa de mais pacotes, você precisará de pelo menos gtk-doc e gobject-introspection.
Instale pacotes libvips via comando git
./autogen.sh
make
sudo make install
Renderização de imagens mais rápida via API C++
A biblioteca libris forneceu para criação e manipulação de imagens mais idas em todas as plataformas líderes. Algumas das principais bibliotecas de de imagens como ImageMagick e Gt são muito poderosas e recursos para com imagens, mas precisam de uma grande quantidade de memória para processar imagens. Por outro lado, o libris pode fazer o mesmo que ImageMagick, mas muito mais rápido e com uma de memória comparativamente pequena
Salvar imagem em outros formatos suportados
A biblioteca libvips de código aberto fornece um conjunto de operações que carregam e salvam imagens em vários formatos. A biblioteca inclui suporte integrado para salvar imagens em formatos populares como TIFF, JPEG, PNG, Analyze, PPM, OpenEXR, CSV, Matlab, Radiance, RAW, FITS, WebP, SVG, PDF, GIF e VIPS. O VipsForeign pode ser usado para carregar e salvar imagens em vários formatos.
Leia e va Imagens para Memória através C++ API
int
main( int argc, char **argv )
{
gchar *buf;
gsize len;
int i;
if( VIPS_INIT( argv[0] ) )
vips_error_exit( NULL );
if( argc != 2 )
vips_error_exit( "usage: %s FILENAME", argv[0] );
if( !g_file_get_contents( argv[1], &buf, &len, NULL ) )
vips_error_exit( NULL );
for( i = 0; i < 10; i++ ) {
VipsImage *image;
void *new_buf;
size_t new_len;
printf( "loop %d ...\n", i );
if( !(image = vips_image_new_from_buffer( buf, len, "",
"access", VIPS_ACCESS_SEQUENTIAL,
NULL )) )
vips_error_exit( NULL );
if( vips_image_write_to_buffer( image,
".jpg", &new_buf, &new_len,
"Q", 95,
NULL ) )
vips_error_exit( NULL );
g_object_unref( image );
g_free( new_buf );
}
g_free( buf );
vips_shutdown();
return( 0 );
}
Redimensionamento de imagem mais rápido
A biblioteca libvips de código aberto oferece aos desenvolvedores de software o poder de redimensionar imagens em tempo real dentro de seus próprios aplicativos. Primeiro, você precisa carregar a imagem do repositório de imagens fornecendo um nome de imagem e um endereço completo. Depois disso, você pode redimensioná-lo para a largura e altura especificadas de acordo com suas necessidades. Depois disso, você pode salvá-lo no local de sua escolha com o novo tamanho.
Leia e va Imagens para Memória através C++ API
int
vips_resize( VipsImage *in, VipsImage **out,
double scale, ... )
{
va_list ap;
int result;
va_start( ap, scale );
result = vips_call_split( "resize", ap, in, out, scale );
va_end( ap );
return( result );
}
Filtragem de imagens via API C++
A filtragem de imagens é uma valiosa que é usada em várias aplicações de de imagem e visão de computador em todo o mundo. A biblioteca libris oferece suporte completo para filtragem de imagem através de C++ comandos. Características como alisamento, e aprimoramento de borda são alguns de de imagem implementadas com filtragem. A biblioteca também incluiu filtros NG como a diferença à esquerda, uma média de esquerda e para cima, adaptativa, o melhor preditor , e sem filtragem. também filtros de que podem carregar com libMagick e OpenSlide.