PYNQ实现HDMI显示
代码
from pynq.overlays.base import BaseOverlay
from pynq.lib.video import *
base = BaseOverlay("base.bit")
import cv2
import numpy as np
Mode = VideoMode(640,480,24)
hdmi_out = base.video.hdmi_out
hdmi_out.configure(Mode,PIXEL_BGR)
hdmi_out.start()
while True:
img = cv2.imread('./f1.png')
frame = cv2.resize(img,(640,480))
#要注意这里不是通过array或者list格式输出的,为video包中的专属格式
outframe = hdmi_out.newframe()
outframe[0:480,0:640,:] = frame[0:480,0:640,:]
hdmi_out.writeframe(outframe)
bug
FPGA负载高的时候会闪烁或者显示失败,有时候多次运行后会不显示。也许是因为这个代码是死循环,没有加释放语句hdmi_out.stop()
(然而并没有什么用,目前发现只有通过重启才能解决)