libvips

高性能的图像处理库
授权协议 LGPL
开发语言 C/C++
所属分类 程序开发、 图形/图像处理
软件类型 开源软件
地区 不详
投 递 者 钮兴安
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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(on node.js),bimg,sharp for Go,Ruby on Rails,carrierwave-vips,mediawiki,PhotoFlow等。官方libvips GUI是nip2,电子表格和照片编辑器的奇怪组合。

示例代码:

const char *filename;
VipsImage *in = vips_image_new_from_file (filename, NULL); 
const int x = 10;
const int y = 10;
const int width = 1000;
const int height = 1000;
VipsImage *out;

if (vips_embed (in, &out, x, y, width, height, NULL))
  error_handling();

 

  • 一、libvips简介 libvips是一个多线程的高性能图片处理库,运行速度快,占用的内存很少,支持C,C ++,Ruby,Python,PHP,C#/ .NET,Go和Lua。可以用来对图片做算术,直方图,卷积,形态学操作,频率滤波,颜色,重采样,统计等操作,它支持从8位int到128位complex多种数字类型。支持各种图像格式,包括JPEG,TIFF,PNG,WebP,HEIC,FITS,

  • libvips 是一个 C 语言编写的性能非常高效的图像处理库。 Node 环境下无法直接使用 libvips,因为处理图像对效率和性能有要求,所以一般都是用 C/C++ 底层代码编写的 sharp 是 Node.js 平台上相当热门的一个图像处理库,其实际上是基于 C 语言编写的 libvips 库封装而来,因此高性能也成了 sharp 的一大卖点。 sharp 可以方便的实现常见的图片编辑操作

  • npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! sharp@0.26.2 install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)` npm ERR! E

  • 使用libvips来操作图像,libvips的部署参考一个Node.js工程:https://github.com/lovell/sharp 在MAC下安装很顺利,到Linux环境下(Ubuntu 16.04 LTS)出现了如下问题: # pkg-config --cflags vips vips vips vips Package vips was not found in the pkg-co

 相关资料
  • 我在试着读书。tiff图像。我知道我不能阅读ImageIO提供的tiff文件。阅读并了解JAI API的支持。tiff图片,但我不会使用JAI API。那么JAI API还有其他选择吗?我在哪里可以买到JAI API?

  • 大多数图像处理和操作技术可以使用两个库进行有效的处理:Python Imaging Library (PIL) 和 OpenSource Computer Vision (OpenCV)。 下面来简单介绍一下这两个库。 Python 图像库 Python 图像库, 全称为 Python Imaging Library,简称PIL,是Python图像操作的核心库之一。遗憾的是,PIL 的开发工作已经

  • Tensorflow封装了很多图像处理的操作,包括读取图像、图像处理、写图像到文件等等。在批量处理图像时,Tensorflow要求所有的图像都要有相同的Size,即$$(height,width,channels)$$。 读取图像 %matplotlib inline import tensorflow as tf import numpy as np #mil.use('svg') mil.us

  • 安装扩展 使用Composer安装ThinkPHP5的图像处理类库: composer require topthink/think-image 图像操作 下面来看下图像操作类的基础方法。 打开图像文件 假设当前入口文件目录下面有一个image.png文件,如图所示: 使用open方法打开图像文件进行相关操作: $image = \think\Image::open('./image.png');

  • 问题内容: 我有一个数据模型,该数据模型在一个实体和其他11个实体之间具有一对多关系。这12个实体一起代表一个数据包。我遇到的问题是与这些关系的“许多”方面发生的插入次数有关。其中一些可以具有多达100个单独的值,因此要将一个完整的数据包保存在数据库中,最多需要500次插入。 我正在将MySQL 5.5与InnoDB表一起使用。现在,通过测试数据库,我发现在处理批量插入时,它每秒可以轻松地每秒进行

  • 我从http://docs.oracle.com/javaee/7/tutorial/doc/servlets012.htm Java EE为servlet和过滤器提供异步处理支持。如果servlet或过滤器在处理请求时达到潜在的阻塞操作,它可以将该操作分配给异步执行上下文,并将与请求相关联的线程立即返回到容器,而不生成响应。阻塞操作在不同线程的异步执行上下文中完成,该线程可以生成响应或将请求分派