【发布时间】:2022-11-04 15:49:15
【问题描述】:
我想在 opencv.js 中使用LUT & applyColorMap。默认情况下,它们不包括在内,因此我尝试进行自定义构建,但在尝试使用它们时出现运行时错误:
LUT:
Uncaught (in promise) 6705216
这几乎是关于错误的所有信息。
applyColorMap:
Uncaught (in promise) TypeError: Cannot convert "[object Object]" to int
似乎只支持applyColorMap 的第一个重载,但我需要带有自定义userColor 矩阵(see docs)的第二个重载。
重现步骤
- 在
./platforms/js/opencv_js.config.py中将'LUT'添加到core部分 - 在
./platforms/js/opencv_js.config.py中将'applyColorMap'添加到imgproc部分 - 使用以下命令构建 opencv.js:
$ emcmake python ./platforms/js/build_js.py build_wasm --build_wasm- 在 javascript 中调用函数,例如像这样:
import cv_ from "./opencv.js" (async () { const cv = await cv_ // provide some `imgEl` here const img = cv.imread(imgEl) const lut = new cv.Mat.zeros(256, 4, cv.CV_8UC4) const out = new cv.Mat() // error is thrown here: cv.LUT(img, lut, out) // cv.applyColorMap(img, out, lut) lut.delete() })()系统信息
- OpenCV:4.5.5
- 操作系统:NixOS 22.05
- 脚本:2.0.10
【问题讨论】:
标签: javascript opencv