使用查找表进行快速图像处理

时间:2019-12-05 19:44:30

标签: numpy array-indexing

我有来自视频的图像和带有索引的查找表。目的是通过使用查找表中的索引从每一帧中制作新图像。我的代码使用笔记本电脑工作,但速度有点慢。我的目标是使其能够在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 个答案:

答案 0 :(得分:0)

因此,我正在使用预定义的查找表进行一些图像处理。该表具有从图像中获取像素的位置的索引值。由于TX2的CPU较弱,因此很难在TX2中执行此操作。由于TX2具有强大的GPU,因此可以更快地使用GPU。CUPY或Numba可以用来解决速度问题。