如何将掩码传递到cv::convertScaleAbs



我想节省一些CPU,而不是在我感兴趣的矩形中迭代太多像素。如何安全地扩展函数cv::convertScaleAbs以将8位掩码传递给它?

您应该首先通过获取屏蔽图像(例如maskedImage

inputImage.copyTo(maskedImage, mask);

然后,简单地将该掩蔽图像(即maskedImage)传递给cv::convertScaleAbs()

IMHO不可能将8位掩码传递给cv::convertScaleAbs,但您可以始终使用Mat::operator()仅处理roi本身:

convertScaleAbs(imgfc3(roi), outputScaled, 255.0);

我很确定它不会在你不感兴趣的像素上迭代。但它的缺点是需要复制。

结果是的,你可以将相同的参数传递给convertScaleAbs,它正在工作:

Mat r = imgfc3(roi);
convertScaleAbs(r, r, 255.0);

但它仍然是复制品。

相关内容

  • 没有找到相关文章

最新更新