【opencv.js】两图相加、相减、与、或、非、异或 操作

JavaScript 写法类似于 C++ 写法。

相关内容详细介绍请移步官网:【https://docs.opencv.org/3.3.1/dd/d4d/tutorial_js_image_arithmetics.html

 

两图相加

let src1 = cv.imread("canvasInput1");
let src2 = cv.imread("canvasInput2");
let dst = new cv.Mat();
let mask = new cv.Mat();
let dtype = -1;
cv.add(src1, src2, dst, mask, dtype);
src1.delete(); 
src2.delete();
dst.delete();
mask.delete();

两图相减

let src1 = cv.imread("canvasInput1");
let src2 = cv.imread("canvasInput2");
let dst = new cv.Mat();
let mask = new cv.Mat();
let dtype = -1;
cv.subtract(src1, src2, dst, mask, dtype);
src1.delete(); src2.delete(); dst.delete(); mask.delete();

 

与、或、非、异或操作

let src1 = cv.imread("canvasInput1");
let src2 = cv.imread("canvasInput2"); let gray1=new cv.Mat(); let gray2=new cv.Mat(); cv.cvtColor(src1, gray1, cv.COLOR_RGBA2GRAY, 0); cv.threshold(gray1, gray1, 100, 255, cv.THRESH_BINARY); cv.cvtColor(src2, gray2, cv.COLOR_RGBA2GRAY, 0); cv.threshold(gray2, gray2, 100, 255, cv.THRESH_BINARY);
<!-- 取反操作 --> cv.bitwise_not(gray2, gray2); <!-- 与操作 --> let dst=new cv.Mat(); let mask=new cv.Mat(); cv.bitwise_and(gray1, gray2, dst, mask); //cv.bitwise_or(gray1, gray2, dst, mask); //cv.bitwise_not(gray1, gray2, dst, mask); //cv.bitwise_xor(gray1, gray2, dst, mask);
原文地址:https://www.cnblogs.com/bjxqmy/p/12766075.html