opencv.js图像增强

有个需求:点击某按钮后,让图片有增强的效果。之前的代码是别人用python+opencv写的,如下:

self.img_cv2 = cv2.imread('test.png')
r, g, b = cv2.split(self.img_cv2)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
b_ahe = clahe.apply(b)
g_ahe = clahe.apply(g)
r_ahe = clahe.apply(r)

self.enhence_img = cv2.merge([r_ahe, g_ahe, b_ahe])

现在我要把它改为JS,如下:

let src = this.$cv.imread(this.$refs.srcimg);
console.log(src.channels());
let claheDst = new this.$cv.Mat();
let rgbaPlanes = new this.$cv.MatVector();
this.$cv.split(src, rgbaPlanes);
let R = rgbaPlanes.get(0);
let G = rgbaPlanes.get(1);
let B = rgbaPlanes.get(2);
let tileGridSize = new this.$cv.Size(8, 8);
let clahe = new this.$cv.CLAHE(2.0, tileGridSize);
let rAhe = clahe.apply(R, claheDst);
let gAhe = clahe.apply(G, claheDst);
let bAhe = clahe.apply(B, claheDst);
let oneImg = this.$cv.merge(rAhe, claheDst);
let twoImg = this.$cv.merge(gAhe, oneImg);
let threeImg = this.$cv.merge(bAhe, twoImg);
this.$cv.imshow(this.$refs.dstimg, threeImg);
src.delete();
rgbaPlanes.delete();

但是总是运行到merge时报错『TypeError: Cannot read property '$$' of undefined』。opencv.js中的merge方法必须接收2个参数。求解决报错方案

阅读 4.4k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题