【问题标题】:How can I create an OpenCV sharpening matrix in JavaScript?如何在 JavaScript 中创建 OpenCV 锐化矩阵?
【发布时间】:2020-01-15 09:58:50
【问题描述】:

我正在尝试使用如下所示的锐化卷积核来锐化图像:

[[0,-1,0], [-1,5,-1], [0,-1,0]];

是否可以像这样定义任意矩阵?

我可以在 OpenCV for python 中通过声明一个像上面一样的 numpy 数组来简单地做到这一点,但在 JavaScript (OpenCV.js) 中,如果不使用 Mat 方法和其他方法的某种组合,似乎没有办法做到这一点。

我试过这样:

let kdata = [[-1,-1,-1], [-1,9,-1], [-1,-1,-1]];
let M = new cv.Mat(kdata);

并按照此处的示例进行操作:

https://docs.opencv.org/master/dd/d6a/tutorial_js_filtering.html

但是我找不到任何可以让我创建任意矩阵的东西,我可以控制矩阵中的每个元素,只有像 eye() 或 one() 这样的方法可以用一些预先指定的值填充矩阵。

在创建可与filter2d 方法一起使用的任意矩阵方面的任何帮助都会非常有帮助。谢谢!

【问题讨论】:

    标签: javascript opencv matrix kernel


    【解决方案1】:

    好吧,我只是花了一整天的时间试图找到解决方案。

    let kdata = [-1,-1,-1,-1,9,-1,-1,-1,-1] ;
    let M = cv.matFromArray(3,3, cv.CV_32FC1,kdata);
    

    我知道这是一个非常古老的问题,但我希望这个遮阳篷如果将来有人遇到这个问题会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-25
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      • 2011-06-26
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多