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,那么你也必须为它提供绑定。