【发布时间】:2021-10-07 10:22:12
【问题描述】:
我有Mat 对象,如下所示:
在这样的矩阵中,一些列被预定义(固定)数量的列插入,其中值全为零。
我正在寻找一个过滤器,用一些按列的线性插值填充那些零列。例如,之前的 Mat 最终会变成这样:
请注意,非零列的原始值不变。在此示例中,垫子尺寸为 3x7,但在我的应用程序中,实际尺寸通常比上述尺寸大,例如 300x400 或更大。
我自己编写了代码来做到这一点。但是,我想知道是否存在使用 OpenCV 的本机功能执行相同操作的简化方法。
【问题讨论】:
-
我没有看到在 OpenCV 中执行此操作的准备好的功能。你可以实现一个算法来做到这一点,看起来你已经做到了。浮点数怎么样,比如 3.3, 2.7 ?你如何将浮点数嵌入到 Mat ?通过使用
<float>map? -
@YunusTemurlenk 垫子是 CV_32FC1
-
为什么不创建只有非零列的 Mat 并使用
resize来处理插值? -
@beaker 即使 INTER_LINEAR 获得的值并不完全相同,正如我所寻找的那样,我认为这种方法可以满足我的需求。
标签: python c++ opencv filtering interpolation