Преобразование массива в 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]
До сих пор мое лучшее предположение о способе сделать это состоит в том, чтобы изначально создать буфер с такой структурой, чтобы при добавлении кадра в буфер требовался цикл для прохождения каждого нового кадра и вставка значений каждого канала в каждый пиксель на каждой высоте. и ширина до соответствующего временного интервала. Это может стать очень неэффективным, особенно если учесть, что это не операция на месте.
Есть ли более эффективный способ сделать это на месте?