Быстрая обработка изображений с помощью таблицы поиска
У меня есть изображения из видео и справочная таблица с индексами. Цель состоит в том, чтобы создать новое изображение из каждого кадра, используя индексы в справочной таблице. Мой код работает на моем ноутбуке, но немного медленнее. Моя цель - заставить его работать в TX2. Ниже мой код, не знаю, почему он медленный.
cap1 = cv2.VideoCapture(2)
with open('lookup_table.pkl', 'rb') as f:
lut_idx = pickle.load(f)
channels = 3 # Colored images
dim = 480 # Square image 480 x480
while (cap1.isOpened()):
ret1, left = cap1.read()
if ret1 == True:
newImg = np.reshape(np.reshape(together, (dim * dim , channels))[lut_idx],
(dim, dim, channels))
cv2.imshow('newImage', newImg) # Show image
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap1.release()
cv2.destroyAllWindows()
Что я могу сделать, чтобы это было быстрее? Стоит ли мне заняться параллельной обработкой? Любая помощь приветствуется. Спасибо
1 ответ
Итак, я делал некоторые манипуляции с изображениями, используя предопределенную таблицу поиска. В таблице были значения индекса, где брать пиксели изображения. Сделать это в TX2 было сложно, поскольку у TX2 слабый процессор. Чтобы сделать это быстрее, используйте графический процессор, поскольку TX2 имеет огромный графический процессор. Для решения проблемы скорости можно использовать CUPY или Numba.