在OpenCV中,假设有一个Mat型对象image存储一副RGB图像
cv::Mat image = cv::imread("example.jpg");
现在想对image进行一个element-wise的减法操作(此类操作在目标检测与分类领域中较为常见),假设对每一个像素减去一个Scalar类型的对象piexl_mean,可能会采用下面的办法
cv::Scalar piexl_mean(101.45, 102.45, 103.56);
image = image - piexl_mean;
然而,它未必完成了我们想要的功能,原因如下
- image 的类型为CV_8UC3
- element-wise substraction实际上的操作是 dst(I)=saturate(src1(I)−src2)
- 在进行
image - p