【发布时间】:2021-10-27 00:42:35
【问题描述】:
我希望在图像上打印文本并从中创建一个视频,以便直观地查看一些数据(以及它是如何变化的)。
我想加载背景图像一次,然后每帧使“frame_img”等于背景图像,然后在帧上打印值:
bg_img = cv2.imread('background_image.jpg')
for frame_num in range(n_frames):
print(f'Frame: {frame_num}')
frame_img = bg_img #reset frame to background
for gxi in range(gxn):
for gyi in range(gyn):
txt = str(int(np_vec[frame_num,gyi,gxi,feature_index]))
loc = (int((gxi+0.4)*gxd),int((gyi+0.7)*gyd))
cv2.putText(frame_img, txt, loc, font, fontScale, font_color, text_thickness, cv2.LINE_AA);
vidout.write(frame_img.astype(np.uint8))
vidout.release()
我遇到的问题是结果框架的文本相互重叠,就好像 frame_img 没有被重置为背景一样
以下工作,但我不想每次都读取背景图片:
for frame_num in range(n_frames):
print(f'Frame: {frame_num}')
frame_img = cv2.imread('background_image.jpg') #reset frame to background
for gxi in range(gxn):
for gyi in range(gyn):
txt = str(int(np_vec[frame_num,gyi,gxi,feature_index]))
loc = (int((gxi+0.4)*gxd),int((gyi+0.7)*gyd))
cv2.putText(frame_img, txt, loc, font, fontScale, font_color, text_thickness, cv2.LINE_AA);
vidout.write(frame_img.astype(np.uint8))
vidout.release()
知道背景图像 (frame_img) 没有被重置的原因吗?
【问题讨论】: