node-opencv npm – 即使节点是单线程的,它会执行multithreading计算吗?

openCV的node.js实现可以利用multithreading的主机和/或Nvidida GPU吗?

我是新的Node JS,并注意到有openCV绑定。

我为uni项目做了一点openCV,并且对使用node.js进行image processing感兴趣。

节点是单线程,我相信openCV利用多核心,特别是如果他们是Nvidia GPU?

JavaScript是单线程的,nodejs不是。 有nodejs绑定到OpenCV C ++库,这意味着你基本上获得了OpenCV的所有性能优势,只需使用它的Javascript API。

如果绑定通过AsyncWorkers提供asynchronous方法,那么您将获得multithreading。 你可以给我的npm包opencv4nodejs一个尝试,它提供了一个asynchronousAPI,通过Promises使得multithreading非常简单。

对于GPU加速OpenCV具有不同的模块,可能有一个独立的API。 如果你想用nodejs来使用这个API,那么你也必须为它提供绑定。