libvips是一个需求驱动的多线程图像处理库。与类似的库相比,libvips运行速度快,占用的内存很少。
它有大约300个操作,包括算术,直方图,卷积,形态学操作,频率滤波,颜色,重采样,统计等。它支持多种数字类型,从8位int到128位复杂。图像可以包含任意数量的波段。它支持各种图像格式,包括JPEG,TIFF,PNG,WebP,HEIC,FITS,Matlab,OpenEXR,PDF,SVG,HDR,PPM/PGM/PFM,CSV,GIF,Analyze,NIfTI,DeepZoom和OpenSlide。它还可以通过ImageMagick或GraphicsMagick加载图像,让它可以使用像DICOM这样的格式。
它附带了C,C++和命令行的绑定。完整绑定可用于Ruby,Python,PHP,C#/.NET,Go和Lua。libvips用作图像处理引擎,由sharp(onnode.js),bimg,sharpforGo,RubyonRails,carrierwave-vips,mediawiki,PhotoFlow等。官方libvipsGUI是nip2,电子表格和照片编辑器的奇怪组合。
示例代码:
constchar*filename;VipsImage*in=vips_image_new_from_file(filename,NULL);constintx=10;constinty=10;constintwidth=1000;constintheight=1000;VipsImage*out;if(vips_embed(in,&out,x,y,width,height,NULL))error_handling();
评论