我想保存一些CPU而不是迭代我感兴趣的矩形中的像素。 如何安全地扩展函数cv :: convertScaleAbs以将8位掩码传递给它?
答案 0 :(得分:0)
您应首先通过以下方式获取蒙版图像(例如maskedImage
)
inputImage.copyTo(maskedImage, mask);
然后,只需将此蒙面图像(即maskedImage
)传递给cv::convertScaleAbs()
。
答案 1 :(得分:0)
恕我直言,没有可能将8位掩码传递给cv :: convertScaleAbs,但你总是可以使用Mat :: operator()只在roi本身上工作:
convertScaleAbs(imgfc3(roi), outputScaled, 255.0);
我很确定它不会迭代您不感兴趣的像素。但它的缺点是它需要复制。
...结果是,你可以将相同的参数传递给convertScaleAbs并且它正在工作:
Mat r = imgfc3(roi);
convertScaleAbs(r, r, 255.0);
但是它会复制一份。