node.js - node-opencv npm - 即使 Node 是单线程的,它也会进行多线程计算吗?

标签 node.js multithreading opencv computer-vision

openCV 的 node.js 实现能否利用支持多线程的主机和/或 Nvidida GPU?

我是 Node JS 的新手,注意到有 openCV 绑定(bind)。

我已经为一个 uni 项目做了一些 openCV,并且对使用 node.js 进行图像处理很感兴趣。

Node 是单线程的,我相信 openCV 可以利用多核,尤其是当它们是 Nvidia GPU 时?

最佳答案

JavaScript 是单线程的,nodejs 不是。 OpenCV C++ 库有 nodejs 绑定(bind),这意味着您基本上可以获得 OpenCV 的所有性能优势,只需将它与 Javascript API 一起使用即可。

如果绑定(bind)通过 AsyncWorkers 提供异步方法,您就可以从中获得多线程。可以给我的npm包opencv4nodejs a try,它提供了一个异步 API,通过 Promises 使多线程处理变得非常简单。

对于 GPU 加速,OpenCV 有不同的模块,具有单独的 API,您可能知道。如果您想将此 API 与 nodejs 一起使用,则还必须为此提供绑定(bind)。

关于node.js - node-opencv npm - 即使 Node 是单线程的,它也会进行多线程计算吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46875502/

相关文章:

image-processing - 如何使用 JavaCV 识别另一个轮廓内的轮廓?

javascript - 为什么我收到 "Cannot find module ' jsonLogic'"错误?

node.js - AWS SDK - 更改自动扩展组更新策略

node.js - 如何在同一个 Heroku 应用程序上部署前端和后端 Node.js?

Python:断言错误, "not called"

ios - iOS多线程同步

java - 在静态模式下使用 AudioTrack 的正确方法是什么?

node.js - 使用 Express.js Node.js header (cURL) 中的 token

python - 图像处理 : Problem with Fish measuring

python - Opencv:检测 FFT 上最亮的线