【发布时间】:2012-01-27 22:56:23
【问题描述】:
如果我有图像数据imgA 和imgB,那么我想计算imgC 如下:
for (int i = 0; i < numPixelsInA; i++) {
imgC[i] = max(0, imgA[i]-imgB[i]);
}
如果不编写基本上类似于上面的代码,我看不出在 openCV 中没有办法做到这一点。很好奇我是否遗漏了什么。
作为对上述内容的警告,imgA 和 imgB 是 OpenCV uchar,因此,要真正完成上述工作,必须将行替换为:
imgC[i] = (uchar) max(0, ((int) imgA[i]) - ((int) imgB[i]));
这就是为什么 OpenCV 实现对我更有吸引力的原因,因为它们可以正确处理这些饱和问题,并且如果/当我们获得 IPP 时,我们可以“免费”获得适当的加速。
【问题讨论】:
标签: c image-processing opencv