问题描述
这是我一次性绘制存储为 numpy 数组的位图的代码:
bitmapf = np.array((ypixels,xpixels,3)) # RGB for last channel
# ! bitmapf is populated
renormed255 = 255.0 * bitmapf / np.max(bitmapf)
# https://stackoverflow.com/questions/49271913/convert-numpy-array-to-rgb-image/49334548
from PIL import Image
img = Image.fromarray(renormed255.astype('uint8'),'RGB')
img.show()
但是,我有来自填充 bitmapf 的 websocket 的实时数据。
编辑:实时数据是稀疏的,并通过算法点亮位图上的像素。 x 轴是时间,每收到 20 个左右的数据包,仅修改 1 x 像素 Y 列。
我希望以 30Hz 的频率在屏幕上渲染它。
如何实现? (它很大,至少 1024x768)。
是否可以优化为仅将脏列传递给渲染器?
import cv2
import numpy as np
from time import sleep
bitmap = np.zeros((512,512,3),np.uint8)
for i in range(512):
sleep(.1)
bitmap[i,i,:] = 128
cv2.imshow("Color Image",bitmap)
cv2.waitKey(0)
cv2.destroyAllWindows()
外部参照:Fast Live Plotting in Matplotlib / PyPlot
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)