javascript - OpenCV.js 不工作 vue.js (electron-builder)

标签 javascript node.js opencv vue.js electron

我正在使用 Electron 和 vuejs 开展一个项目(我正在使用 vue-cli-plugin-electron-builder)并且我需要实时人脸检测系统到目前为止最快和最有效的解决方案是 OpenCV.js(我已经完成了我的研究)。

我一直面临的问题是根据 OpenCV.js 文档,我们需要将脚本标签添加到 html 文件中,例如,

<script async src="https://docs.opencv.org/master/opencv.js" onload="onOpenCvReady()" type="text/javascript"></script>

我已经对其进行了测试,只有在 Electron 窗口中关闭 nodeIntegration 时它才能正常工作。但这是不可能的,因为 electron-builder 插件只有在打开 nodeIntegrations 时才能工作。
new BrowserWindow({
    webPreferences: {
        nodeIntegration: true // I need this but i also need opencv
                              // but opencv is not working if i turn it off.
    }
})

其次,我应该继续使用 electron 还是转向 NW.js,我注意到 electron.js 的构建大小很大。

最佳答案

首先,下面的说法是不正确的:

electron-builder plugin works only if the nodeIntegrations are turned on.



事实上,nodeIntegration将在 electron-builder v2.0 中禁用默认情况下。

现在让我们进入正题。不要使用 <script> 下载任何内容标签,如果你这样做,每次用户打开应用程序时,它都会下载脚本。您应该做的是在开发过程中安装所有 Node 模块,以便应用程序附带所有内容。

要在 Electron 中使用 opencv,您可以简单地安装 this npm module .查看 the example关于如何在 Electron 中使用它。

如果该模块不适合您,请尝试 this npm module并按照 opencv docs如果需要的话。

要回答您关于 NW.js 的问题,这取决于您的需求。谷歌一下 Electron 和 NW.js 之间的区别,然后决定你想为你的应用使用什么。总之,Electron 更强大,更安全,即使应用程序占用 200mb更多的驱动器,它仍然是一个更好的选择。此外,谁在乎构建是否为 400mb在尺寸方面?现在不是 2010 年,现在大多数首先要使用您的应用程序的人,很可能在他们的驱动器上拥有半 TB 的可用空间。

关于javascript - OpenCV.js 不工作 vue.js (electron-builder),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61827810/

相关文章:

opencv - 在给定内在、外在和 Y=0 约束的情况下估计 2D 像素的深度

javascript - Indexeddb 添加新值而不是更新现有值

c# - 使用 jquery ajax post 填充下拉列表并在 C# 页面上获取所选值

python - 检测图像是否像素化的最佳方法是什么?

javascript - 如何正确编写模块以与 Bluebird 的 `PromisifyAll` 兼容

node.js - NodeJS 中的文件模块与文件夹模块

ios - 尝试在已经工作的项目中使用 OpenCV 框架时 Apple O-Linker 出错

javascript - 如何在谷歌地图中获取经纬度和纬度的总距离

javascript - 如果我只知道元素和事件,则删除事件监听器

javascript - express-validator 两次返回验证错误