Преобразование массива в Python для Nympy OpenCV

Я храню кадры, записанные с веб-камеры, в буфере. Если бы у меня был доступ к какому-либо одному пикселю, мне нужно было бы сначала выбрать кадр, затем координаты (x, y) пикселя, а затем каналы RGB в этом пикселе, например:

red = buffer[t][w][h][0]
green = buffer[t][w][h][1]
blue = buffer[t][w][h][2]

Проблема в том, что я хочу получить доступ к тому же пикселю и каналу во всех других кадрах в буфере, и иметь их в одном одномерном массиве, и мне нужно получить их эффективно (это, в конце концов, проект компьютерного зрения). Еще один способ взглянуть на это, я хочу переместить t Индекс до конца, как это:

red = buffer[w][h][0][t]
green = buffer[w][h][1][t]
blue = buffer[w][h][2][t]

До сих пор мое лучшее предположение о способе сделать это состоит в том, чтобы изначально создать буфер с такой структурой, чтобы при добавлении кадра в буфер требовался цикл для прохождения каждого нового кадра и вставка значений каждого канала в каждый пиксель на каждой высоте. и ширина до соответствующего временного интервала. Это может стать очень неэффективным, особенно если учесть, что это не операция на месте.

Есть ли более эффективный способ сделать это на месте?

0 ответов

Другие вопросы по тегам