Быстрая обработка изображений с помощью таблицы поиска

У меня есть изображения из видео и справочная таблица с индексами. Цель состоит в том, чтобы создать новое изображение из каждого кадра, используя индексы в справочной таблице. Мой код работает на моем ноутбуке, но немного медленнее. Моя цель - заставить его работать в 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.

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