Javascript NodeJS图像处理/分析是否可行?

Javascript NodeJS图像处理/分析是否可行?,javascript,image,node.js,image-processing,Javascript,Image,Node.js,Image Processing,我正在服务器端运行NodeJS,并尝试进行一些自动图像处理来确定图像的“基色” 以下是我想做的步骤: 获取一个图像(在远程服务器上,通过URL传递)并获取其维度 使用尺寸计算图像的中心 围绕中心点取一个10px 50px(宽XL)的矩形 获取每个像素的RGB值(每幅图像500) 输出像素的平均值 我知道这样的事情在PHP中是可能的,但我想使用Node是可能的。我看过关于使用Node imagick进行基本处理(如调整大小和裁剪)的教程,但不知道从何处开始更高级的分析 问题 (a) 这在Node中

我正在服务器端运行
NodeJS
,并尝试进行一些自动图像处理来确定图像的“基色”

以下是我想做的步骤:

  • 获取一个图像(在远程服务器上,通过URL传递)并获取其维度
  • 使用尺寸计算图像的中心
  • 围绕中心点取一个10px 50px(宽XL)的矩形
  • 获取每个像素的RGB值(每幅图像500)
  • 输出像素的平均值
  • 我知道这样的事情在PHP中是可能的,但我想使用Node是可能的。我看过关于使用
    Node imagick
    进行基本处理(如调整大小和裁剪)的教程,但不知道从何处开始更高级的分析

    问题

    (a) 这在Node中是可能的吗

    (b) 哪些图书馆允许我这样做?

    A:是的 B:
    这里还有一些字符,可以使其足够长,以防stackoverflow…

    节点itk可能会对您有所帮助

    Node ITK是一个Node.js包装器,它构建在ITK之上。它是为了促进noe.js在医学图像处理的快速原型、教育和web服务中的使用而构建的


    您可能想查看以下答案:--注意:我强烈建议将此类操作卸载给任何类型的后台工作程序,因为节点的优势在于异步处理大量IO阻塞操作,而不是CPU阻塞/密集操作(如图像处理)。这就是说,GM使用工作线程(不阻塞事件循环)完成这项工作。你能解释一下你所说的背景工作者是什么意思吗?我想我可以使用PHP来实现这一点,而不会有太多麻烦,我刚刚在Node中构建了所有其他内容,所以我希望将它们保持在同一个位置。但我想做的任何事情都是最快/最轻的负载在我的服务器上肯定!通常在web应用程序中,您的“应用程序服务器”用于快速处理大量用户请求。对于非常CPU密集或耗时的操作,例如长API请求、图像处理/处理、计算斐波那契序列(笑话),作业被输入到作业的“队列”中,然后由后台工作人员逐个拾取作业,并在不增加应用服务器负担的情况下完成。看看“gearman”——它对我很有用。对于图像处理,如果没有更多的分析,我真的不能推荐任何东西。只需确保您没有在为主应用程序提供服务的同一个盒子/服务器上进行图像处理。图像处理是一项资源密集型的工作,它会大大降低应用程序的运行速度。后台工作者通常是从队列中提取作业的另一台机器。听起来你已经在应用服务器上安装了一个cron作业,你正在那里完成所有这些工作。远程连接应该不会有问题。有很多作业排队库和系统,看看其中的几个。Gearman非常棒,因为它适用于多种语言。低级图像处理很可能不是用javascript编写的。系统编程语言更适合这种情况。并不是说这是不可能的,您可以读取字节并对其进行操作,所以这是可能的,但它不是最合适的。节点是单线程的,图像操作通常是CPU限制的,并且高度并行化,因此多线程实现可能会更快。