【问题标题】:What is the most lightweight method to load different image file formats in nodejs and read pixels?在nodejs中加载不同图像文件格式并读取像素的最轻量级的方法是什么?
【发布时间】:2019-10-07 05:29:52
【问题描述】:

是否有一种统一且轻量级的方法可以在 NodeJS 中加载多种常见的图像文件格式,提供对单个像素的读取访问权限?

  • 应该支持 gif、jpeg 和 png。
  • 最好它也支持其他图像格式或提供添加更多图像格式的方法。 (webp等)
  • 它不需要在修改像素、提供元数据访问或其他任何事情后再次保存文件。
  • 它不需要能够从 URL 加载图像。

到目前为止,支持多种图像格式的库都是重量级的,例如提供完整的画布支持或完整的图像处理支持。

有没有我找不到的轻量级方法?

【问题讨论】:

  • 到目前为止,您尝试了哪些东西/库以发现“重量级”?什么重量对你来说是重的,你如何定义轻量级的东西?您对此有什么基准?
  • 我发现的第一件事是node-canvas,它是基于Cairoopencv4nodejs,这是一个完整的图像处理/计算机视觉包,node-imagemagick,它“需要 imagemagick CLI 工具”已安装”和Jimp,这是一个完整的图像处理库,但可能比其他库要轻得多。
  • 一个建议:永远不要使用图像魔法,在谷歌搜索image tragic,你就会明白为什么。也许他们可能已经解决了它,但要格外小心地使用它。

标签: node.js image file-format image-loading


【解决方案1】:

我不知道为什么我在这里发帖之前找不到这个:

get-pixels

给定一个 URL/路径,抓取图像中的所有像素并将结果作为 ndarray 返回。 100% 用 Ja​​vaScript 编写,可在 browserify 和 node.js 中使用,并且没有外部原生依赖项。

目前支持以下文件格式:

  • PNG
  • JPEG
  • GIF

它已经两年没有任何更新,但似乎是最轻量级的。我猜这些天人们可能主要使用Jimp。它似乎没有外部依赖,并且正在积极开发,但包含了很多我不需要的图像处理功能。

【讨论】:

    猜你喜欢
    • 2012-09-13
    • 2013-06-27
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多