【问题标题】:missing values in a floating point matrix OpenCV浮点矩阵OpenCV中的缺失值
【发布时间】:2013-02-07 17:44:03
【问题描述】:

我想在 OpenCV 的浮点矩阵中重建缺失值。 Mat 包含最小值为 0 的浮点值。 我试过这个:

  1. 将浮点 Mat 转换为 CV_8U 。显示时的CV_8U图像(浮动Mat中为0的点显示为黑色):

  2. 通过检查 4 邻域中的至少一个当前像素为零的非零像素来生成掩码。 掩码描述要重建的像素(255-缺失像素,否则为 0)掩码是:

  1. inpaint function与步骤1中获得的图像和步骤2中的掩码一起使用。修复结果:

现在我在缺失的位置(上图)有像素值,但是这种修复不能直接应用于浮点 Mat。它只接受 8 位 1 通道或 3 通道图像。 如何重建/获取浮点 Mat 中的缺失值?

【问题讨论】:

    标签: opencv floating-point missing-data mat


    【解决方案1】:

    如果整个图像的浮点-uchar 转换丢失精度是可以接受的,您可以这样做:

    cv::Mat result;
    inpainted_image.convertTo(result, CV_32F);
    

    如果您只想填写缺失值,请执行上述操作,然后传输您的掩码为非零的result 值。

    【讨论】:

      猜你喜欢
      • 2019-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      相关资源
      最近更新 更多