首页 > 解决方案 > TypeError: cv.Mat 不是构造函数(React & OpenCV.js)

问题描述

我正在尝试将 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 不是构造函数”

let dst = new cv.Mat();

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

标签: reactjstypescriptopencvopencvjs

解决方案


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

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

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

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


推荐阅读