【问题标题】:Modifying numpy arrays with OpenCV使用 OpenCV 修改 numpy 数组
【发布时间】:2018-07-25 21:09:11
【问题描述】:

只是想了解一段 Python 代码的工作原理。有问题的代码使用 cv2.resize 修改了 numpy 数组的维度。我想知道 opencv 修改数组以填充数组的新维度的方式。我正在尝试将其翻译成 C#,因此任何解释中的伪代码也将不胜感激。

    print(last_heatmap.shape) --> [32,32,21]
    print(type(last_heatmap)) --> numpy.ndarray
    last_heatmap = cv2.resize(last_heatmap, (256,256))
    print(last_heatmap.shape) --> [256,256,21]
    print(type(last_heatmap)) --> numpy.ndarray

我正在寻找对这个特定函数如何工作的理解,作为关于如何在其他语言中复制它的额外建议(对于 c#,也许是一个 3d 浮点数组?)。谢谢。

【问题讨论】:

    标签: python numpy opencv


    【解决方案1】:

    OpenCV 的调整大小实际上并没有修改数组,它创建了一个全新的数组。该函数的文档可以在here找到。

    对于目标数组中的每个像素,它将缩放其坐标以匹配源数组的大小。映射坐标处的像素将在源数组中查找并写入目标。默认情况下,它会执行双线性插值,考虑平均子像素值。

    图像缩放是一种常见的操作。您不必在 C# 中重新实现它,而是可以依赖库。

    【讨论】:

      猜你喜欢
      • 2012-04-26
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      相关资源
      最近更新 更多