有个需求:点击某按钮后,让图片有增强的效果。之前的代码是别人用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个参数。求解决报错方案
参照这个写出来了https://stackoverflow.com/que...