Преобразование 3D-массива в 2D-массив, удаление ненужных значений - PullRequest
0 голосов
/ 10 января 2019

Я анализирую данные в поисках номерного знака. Я реализую вертикальную и горизонтальную проекцию. Для этого мне нужен 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 ...]]

И имеет правильные размеры в соответствии с исходным разрешением изображения. Что я должен искать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...