我想在OpenCV中重构浮点矩阵中的缺失值。 Mat包含最小值为0的浮点值。 我试过这个:
将浮点数Mat转换为CV_8U。显示时的CV_8U图像(浮动垫中的0点显示为黑色):
现在我在缺失的位置(图像上方)有像素值,但是这个inpaint不能直接应用于浮点Mat。它仅接受8位1通道或3通道图像。 如何在浮点Mat中重建/获取缺失值?
答案 0 :(得分:0)
如果在整个图像中可以接受float-uchar转换的精度损失,则可以执行以下操作:
cv::Mat result;
inpainted_image.convertTo(result, CV_32F);
如果您只想填写缺失值,请执行以上操作,然后转移掩码非零的result
值。