【问题标题】:TypeError: cv.Mat is not a constructor(React & OpenCV.js)TypeError: cv.Mat 不是构造函数(React & OpenCV.js)
【发布时间】:2021-09-11 07:46:01
【问题描述】:

我正在尝试将 Opencv.js 集成到 React(TypeScript)。 我所做的是:

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

到 index.html。 并将其称为全球。 我写了

declare global {
  interface Window { cv: any; }
}
window.cv = window.cv || {};
const cv = window.cv;

在我想使用 opencv.js 的反应组件中。

因此,我解决了“找不到名称 'cv'”错误。但是,当我使用时,我面临“TypeError: cv.Mat is not a constructor”

let dst = new cv.Mat();

如何正确使用带有 React 的 opencv.js?

【问题讨论】:

  • 您可能试图在脚本加载之前访问cv 属性。寻找有关如何正确加载外部脚本到 react 的其他问题。

标签: reactjs typescript opencv opencvjs


【解决方案1】:

试试这个并将其放在代码的末尾

window.addEventListener('DOMContentLoaded',function (e){
    Main();
});

或者把你所有的运行代码放在这个函数中并在你的 HTML 中调用它

function Run() {
  cv['onRuntimeInitialized']=()=>{
    Main()
  };
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-14
    • 2021-12-31
    • 2018-06-27
    • 2016-04-16
    • 2021-11-26
    • 2019-10-27
    相关资源
    最近更新 更多