【问题标题】:How to integrate OpenCV with Ionic 3?如何将 OpenCV 与 Ionic 3 集成?
【发布时间】:2018-10-09 03:19:25
【问题描述】:

我正在构建一个移动应用程序,用于通过我拍摄的照片进行身体测量。我如何使用 OpenCV 来做同样的事情?如何将 OpenCV 与 Ionic 框架集成?请帮忙。

【问题讨论】:

  • 您是在尝试合并 OpenCV.js 还是非 JS 风格?
  • 嗨@BRass OpenCV.js

标签: opencv ionic-framework ionic2 ionic3 opencv4android


【解决方案1】:

基本上,您可以引入 opencv.js 框架的风格。我这样做的方法是拉下一些参考,如https://docs.opencv.org/3.4.1/opencv.js,然后将它托管在某个地方(以防opencv将它移动到你身上)。然后将该脚本包含在 Ionic 项目中。不过要小心你是如何做到的。这是一个大文件,因此加载应用程序可能需要更长的时间。我使用过的一些选项:

本地资产

将 js 文件存储在本地资产中,并将其包含在 index.js 中。如果 Ionic 应用程序部署为原生应用程序,则此资产已经在应用程序中并且加载速度相当快。

<script src="assets/js/opencv.js" async></script>

动态加载文件(示例如下)

async ionViewDidLoad() {

    let loadingScreen = this.loadingCtrl.create({ content: "Loading Scripts. Please Wait..." });

    //Show loading screen & load scripts
    try {
      await loadingScreen.present();
      await this.loadScript();
    }
    catch (error) {
      this.errorMessage = "We had some trouble loading scripts...";
    }
    finally {
      loadingScreen && loadingScreen.dismiss();
    }
}


public loadScript(): Promise<any> {
    return new Promise((resolve, reject) => {
      var isFound = false;
      var scripts = document.getElementsByTagName("script")
      for (var i = 0; i < scripts.length; ++i) {
        if (scripts[i].getAttribute('src') != null && 
scripts[i].getAttribute('src').includes("opencv")) {
          isFound = true;
          return resolve();
        }
      }

      if (!isFound) {
        var dynamicScripts = ["https://docs.opencv.org/3.4.1/opencv.js"];

        for (var i = 0; i < dynamicScripts.length; i++) {
          let scriptNode = document.createElement('script');
          scriptNode.src = dynamicScripts[i];
          scriptNode.type = 'text/javascript';
          scriptNode.async = false;
          scriptNode.charset = 'utf-8';
          document.getElementsByTagName('head')[0].appendChild(scriptNode);

          scriptNode.onload = resolve;
        }
      }
    });
}

【讨论】:

  • 非常感谢@BRass 的友好回复,我会检查并更新您。
  • @Sandesh 你试过这个吗?即使我正在从事一个类似的项目,只是想检查您是否能够在您的 Ionic 应用程序中使用 OpenCV 的 JS 风格。虽然我正在尝试 Ionic 4。
猜你喜欢
  • 1970-01-01
  • 2017-03-12
  • 1970-01-01
  • 1970-01-01
  • 2016-04-19
  • 2013-01-24
  • 2017-03-04
  • 2017-12-04
  • 1970-01-01
相关资源
最近更新 更多