首页 > 解决方案 > 将 3D 数组转换为 2D 数组,去除不必要的值

问题描述

我正在分析数据以寻找车牌。我正在实现垂直和水平投影。为此,我需要 2D 数组,但在初始预处理后,我有一个 3D 数组,如下所示:

[ [ [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1],

[第2行]等]]

每个像素由包含相同值(亮度)的长度为 3 的数组表示。我只需要单个值而不是数组。我是 python 新手,所以我不知道这样做的任何最佳方法。

我正在使用分辨率为 800x533 的测试图像。尝试在其他问题上找到答案,但这对我没有多大帮助,因为我不太了解矩阵转换。我不想使用天真的方法通过迭代我拥有的数组来创建新数组,因为我相信有更快的方法。

这给了我一个形状数组 (533, 2400) 这是我试过的代码:

transformed = input.reshape((input.shape[0], -1), order='F')

我期待数组

[[ [1,1,1], [1,1,1]...

[2,2,2], [2,2,2]...] ]

改造后的样子:

[ [1, 1...],

[2, 2...] ]

并且根据初始图像分辨率具有正确的尺寸大小。我应该寻找什么?

标签: pythonarraysnumpymatrix

解决方案


推荐阅读