问题标签 [vips]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
619 浏览

go - 内存未释放回操作系统

我创建了一个图像大小调整服务器,它创建了几个不同的缩略图和您上传到它的图像。我正在使用包https://github.com/h2non/bimg来调整大小,它使用带有 c-bindings 的 libvips。

在投入生产之前,我已经开始使用 jmeter 对我的应用程序进行压力测试,并将 100 张图像同时上传到它几次,并注意到内存没有被释放回操作系统。

为了说明这个问题,我编写了几行代码来读取 100 张图像并调整它们的大小(不将它们保存在任何地方),然后等待 10 分钟。这样重复5次

我的代码和内存/CPU 图可以在这里找到: https ://github.com/hamochi/bimg-memory-issue

很明显,内存正在被循环使用,否则它应该翻倍(我认为)。但它从未发布回操作系统。

这是 cgo 的一般行为吗?或者 bimg 正在做一些奇怪的事情。还是只是我的代码有问题?

非常感谢您提供的任何帮助!

0 投票
2 回答
232 浏览

lua - vips - 如何实现边缘羽化效果

我正在使用 vips 库来处理一些图像,特别是它的 Lua 绑定、lua-vips,并且我正在尝试找到一种在图像边缘进行羽毛效果的方法。

这是我第一次尝试使用库来执行此类任务,并且我一直在查看此可用功能列表,但仍然不知道如何使用。它不是复杂的形状,只是一个基本的矩形图像,其顶部和底部边缘应该与背景平滑融合(我目前正在使用vips_composite()的另一个图像)。

假设存在“feather_edges”方法,它将类似于:

但是,指定应该羽化图像的哪些部分仍然会很好。关于如何做的任何想法?

0 投票
0 回答
741 浏览

python - 从 numpy 数组创建二进制 tiff 文件(用 lzw 压缩)

我需要创建二进制 tiff 文件(通常是 9 层,但只有第 0 层很重要)

我将结果作为布尔 numpy 2D 数组。但我无法将它们写入 tiff 格式。

带有 PIL 的代码:

文件“/path/to/anaconda3/lib/python3.6/site-packages/PIL/Image.py”,第 812 行,在 frombytes s = d.decode(data)

溢出错误:大小不适合 int

使用 pyvips 编写代码

文件“/path/to/anaconda3/lib/python3.6/site-packages/pyvips/vimage.py”,第 291 行,在 new_from_array a[x + y * width] = array[y][x]

TypeError:只有大小为 1 的数组可以转换为 Python 标量

PS:这是针对 Camelyon ACDC LungHP 挑战的,这里是确切的说明:

  1. 提交格式应为 TIFF 二进制掩码。只有 L0 级别将用于计算 DICE。

  2. TIFF 必须使用 LZW 格式压缩。

  3. 参与者必须提交一个包含 50 个 TIFF 面具的 zip 文件。每个 TIFF 文件名应命名为 num_mask.tiff,其中 num 是测试图像的编号(见下文)。

https://acdc-lunghp.grand-challenge.org

0 投票
1 回答
659 浏览

php - 用 php-vips 覆盖文本

我正在尝试使用 php-vips 库编写一个 PHP 函数来将文本覆盖到图像上。浏览文档,我找不到在此处的 libvips 文档中绘制文本的函数,此处php-vips 文档没有提供大量细节,似乎只是指导您使用 libvips 文档。我在一个 php-vips 问题 ( this ) 中找到了一个片段,但它使用了当前 php-vips 库中不存在的文本函数。有谁知道是否可以使用 php-vips 将文本绘制到图像上,如果可以,它是如何完成的?作为参考,我的用例是在通过 PDF 下载时在照片上绘制照片的时间戳。

0 投票
1 回答
169 浏览

lua - vips - 如何创建合理的文本?

我正在使用 vips 库来处理一些图像,特别是它的 Lua 绑定、lua-vips,并且我正在尝试创建合理的文本图像。我猜 vips 中没有可用的功能可以直接执行此操作,所以我想知道如何为此提出一个算法。

我的第一个想法是使用已知的对齐算法解析要对齐的文本,但使用每个单独单词的图像宽度而不是字符数来测量空白空间。然后,对于每一行,将每个单词的文本图像彼此相邻放置,在它们之间添加必要的空间作为黑色像素。

但是我不知道如何检查行高,因为它不一定等于文本图像的高度,所以我不确定我是否使用了一个好的方法。

0 投票
1 回答
1216 浏览

linux - 如何在 Debian/Ubuntu 上使用 mozjpeg 和 libimagequant 安装 libvips?

我想建立一个服务器来处理网站的所有图像。

我在 Nodejs 中有一个使用 Sharp 的脚本,我想用最好的库设置服务器以使用 libvips 的最大功能。

我想获得安装它的帮助。

我可以使用以下方法安装 libvips-dev:

但它没有 mozjpeg 和 libimagequant。

0 投票
1 回答
627 浏览

python - pyvips 图像合成未按预期工作

尝试使用 pyvips 2.1.5 合成图像时:

它输出大小为 10x10px 的绿色平方,而不是预期的 100x100px alpha 混合平方。

输出.png

pyvips.Image.new_from_file此外,合成多个图像文件 (

即使所有图像都bands返回4

我用错了吗?谢谢你的帮助!

0 投票
1 回答
341 浏览

ruby - 使用 ruby​​-vips 将远程图像合并为一张图像

我有一个模板图像,需要在 X , Y 位置上附加一个特定的图像。rmagick中是否有与该功能等效的功能

ImageList.new("https://365psd.com/images/istock/previews/8479/84796157-football-field-template-with-goal-on-top-view.jpg")

并在其他图像上绘制并生成一张图像。

0 投票
1 回答
5799 浏览

linux - 如何在 Alpine 3.8 上安装 libvips?

我尝试将 vips-dev 包安装到 alpine linux 3.8。但得到以下错误:

如何解决?

0 投票
1 回答
448 浏览

vips - 使用 Shrine 生成 PDF 预览

我正在将我们的后端文件上传转换为与 Shrine 一起使用。我设法让图像上传和缩略图很容易地启动和运行,但我一直在努力对 PDF 文件做同样的事情。

上传本身有效,但是,我无法为文件生成缩略图/预览。我将 Shrine 与 ImageProcessing 和 vipslib 一起使用。

我尝试使用 vips 提供的缩略图方法,但这似乎只适用于图像文件,我也尝试遵循这个SO,但没有成功。

现在让我给你一些背景:

这是 Shrine 初始化程序

这是上传者

如前所述,上传者目前会中断并且不会生成预览。该文件的先前版本如下所示:

我在网上看到的关于这个主题的文档很少。

更新:回答问题

该命令vips pdfload吐出使用信息,它确实表示将使用 libpoppler 加载 PDF。

我直接从他们的下载页面安装了 tar 文件,版本是 8.7.0,在 Debian 系统上运行。

感谢有关许可证信息 - 也会对此进行调查!