使用matplotlib和set_data()显示实时位图太慢了。如何用位图进行咬合?

时间:2017-02-20 06:15:45

标签: python matplotlib bitmap

以下是我的代码。它是一个服务器程序,它从客户端接收位图流,我想实时显示位图。但是,“frame.set_data(im)”是我代码的瓶颈,我只得到5 FPS。禁用该行,我接收15fps接收图像。 (没有set_data()的情况下显示被禁用)。

我寻找其他答案,我知道我必须使用MatPlotLib执行快速操作。但是,我不知道如何使用位图执行blitting。有人能帮我快点吗?

import matplotlib
matplotlib.use('TKAgg')
import matplotlib.pyplot as plt

while 1:
    # Decode and Save Image 
    imgdata = base64.b64decode(data)
    stream = io.BytesIO(imgdata)

    # Display realtime gameplay
    im = plt.imread(stream,"bmp")
    if frame is None:
        print "Start Rendering.."
        frame = plt.imshow(im)
        plt.show()
    else:
        frame.set_data(im)
    plt.pause(0.00000001)

1 个答案:

答案 0 :(得分:0)

谢谢@kazemakase 我能用pygame达到理想的速度。 以下是我的代码。

Tcl_DecrRefCount