/**
* 对两个RGB图像做减法操作
* @param mat1
* @param mat2
* @return Mat类
*/
public Mat minusRGBMat(Mat mat1, Mat mat2){ //mat1-mat2
int height=mat1.rows();
int width=mat1.cols();
int channels=mat1.channels();
byte[] values1= new byte[height*width*channels];
byte[] values2= new byte[height* width*channels];
mat1.get(0,0,values1);
mat2.get(0,0,values2);
Mat desMat = new Mat(mat1.rows(), mat1.cols() , CV_8UC4);
for(int i=0; i<values1.length;i++){
if(((values1[i]&0xff)-(values2[i]&0xff))<0){
values1[i]= (byte) ((values1[i]&0xff)%(values2[i]&0xff));
}else {
values1[i]= (byte) ((values1[i]&0xff)-(values2[i]&0xff));
}
}
desMat.put(0,0,values1);
return desMat;
}
OpenCV图片相减Java
最新推荐文章于 2024-04-21 20:00:03 发布