是否可以在 Javascript 中使用 OpenCV 或类似库? [关闭]

Posted

技术标签:

【中文标题】是否可以在 Javascript 中使用 OpenCV 或类似库? [关闭]【英文标题】:Is it possible to use OpenCV or similar library in Javascript? [closed] 【发布时间】:2012-02-26 02:19:37 【问题描述】:

我们可以在 javascript 中使用 OpenCV 吗?有这样的实现吗?

有没有什么JS库可以用来检测图片或视频中的人脸元素?

【问题讨论】:

jsfeat 做了很多类似的事情,非常轻量级,而且是纯 js。 docs.opencv.org/master/opencv.js 【参考方案1】:

我认为除了与带有 openCV 的服务器通信并在那里进行处理之外,没有任何方法可以在 JS 中使用 openCV。

我知道的 JS 中有一种人脸检测算法:http://badassjs.com/post/1461943420/face-detection-in-javascript-via-html5-canvas

【讨论】:

你知道通过js访问摄像头的方法吗? @BohdanVoloshyn 参考 getUSerMedia (webrtc) 现在 opencv 也可以在 Javascript 中作为 opencv.js 使用(使用 Emscripten 移植到 JS 为 asm.js 格式),更多信息请访问-docs.opencv.org/trunk/d5/d10/tutorial_js_root.html【参考方案2】:

OpenCV 从未完全移植到 JavaScript,但个别部分和算法已经:

对于面部和面部元素检测(以及其他部分/对象),您可以使用js-objectdetect 或HAAR.js,它们是基于 Haar 特征级联的 OpenCV 对象检测端口.

ccv 中发现的网络上第一个 人脸检测 算法也值得一提。它的分类器似乎是less reliable,而不是 OpenCV 提供的分类器。

用于facetracking的headtrackr库也可能很有趣,因为它实现了OpenCV中也有的camshift算法。

【讨论】:

+1 到 headtrackr:精心设计的 API 提供事件或面部跟踪(位置、宽度、高度、角度)、头部跟踪(相对于相机的位置)和状态(getUserMedia 可用、流式传输、面部检测,重新检测等)【参考方案3】:

我不知道 OpenCV 在 Javascript 中的完整实现,但是其中的很多算法都在 JSFeat 中实现,这是一个 Javascript 中的计算机视觉库。

我相信用 emscripten 编译一些 OpenCV 是可能的,但据我所知,没有人这样做过。

【讨论】:

有用的库,但是当我不得不使用 OpenCV 时我想检测人脸 你可能更喜欢neave.github.io/face-detection 这样的东西(虽然jsfeat中的haar检测器可以用于人脸检测)。 甚至还有一个运行示例:inspirit.github.io/jsfeat/sample_haar_face.html【参考方案4】:

我推荐OpenCVjs。这是 javascript OpenCV 库。

【讨论】:

全是日文的太糟糕了!? 这是加州大学欧文分校的英文版:github.com/ucisysarch/opencvjs @Kevin Wu,很好!这应该是一个答案:-)我没有说这个问题已经结束了:/【参考方案5】:

这里的优秀回购:https://github.com/peterbraden/node-opencv 似乎没有完整的 opencv 功能,但有面部检测和对来自 ar-drone 等来源的图像流的强大支持。

【讨论】:

【参考方案6】:

关于你的第二个问题 clmtrackr 看起来很有希望。它...

... 是一个 javascript 库,用于将面部模型拟合到视频或图像中的面部。如 Jason M. Saragih 的论文中所述,它目前是由正则化地标均值偏移拟合的受限局部模型的实现。 clmtrackr 跟踪人脸并将人脸模型的坐标位置输出为数组。

试试this example 看看他们的模型。

【讨论】:

【参考方案7】:

应该可以使用 asm.js 将 OpenCV 移植到 Javascript,它可以将 C 或 C++ 编译为 Javascript

另一种说法:OpenCV 被移植到 Chrome Native Client:http://opencv.org/opencv-ported-to-google-chrome-nacl-and-pnacl.html

【讨论】:

这应该是最佳答案。这是 *** 的一个缺点,技术/信息会随着时间而变化。 groups.google.com/forum/#!topic/emscripten-discuss/uaRH2R62WOk【参考方案8】:

除了上面提到的,还有另外一个“opencvjs”的repo

https://github.com/blittle/opencvjs

有点不清楚其中哪些(如果有的话)应该是规范的

【讨论】:

都不是,都是第三者【参考方案9】:

这似乎很好。 http://trackingjs.com/ 看看吧。

【讨论】:

以上是关于是否可以在 Javascript 中使用 OpenCV 或类似库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

javascript使用window.open(url)方式实现下载文件功能,但却有时不能弹出下载框?

Javascript window.open在Windows7中不聚焦

用javascript中的window.opent()进行页面传值

是否可以使用 IDP 独立代码在 ReactJS 中实现 open id connect SSO?

87.AJAX定义应用open()等

是否可以在 ASP .NET Core 中使用 Swashbuckle 在 Swagger 2.0 和 Open API 3 格式中公开相同的 Swagger JSON?