【发布时间】:2021-05-09 01:16:28
【问题描述】:
这是我现在拥有的。
导入的库:
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.pyplot as plt
import numpy as np
import cv2
import time
例如(这部分代码来自互联网示例),我画了一个带有“文本”的图。
fig = plt.figure(figsize=(6,6.5))
canvas = FigureCanvas(fig)
ax = fig.gca()
ax.text(0.0,0.0,"Test", fontsize=45)
ax.axis('off')
然后,我将它保存到“1.png”。
plt.savefig("1.png")
最后,我创建了一个视频编写器并将 png 写入视频。
size = (600,650)
fps = 2
fourcc = cv2.VideoWriter_fourcc('I', '4', '2', '0')
video = cv2.VideoWriter("1.avi", fourcc, fps, size)
image = cv2.imread('1.png')
video.write(image)
video.release()
问题来了:我需要保存图片,然后将其读取为opencv可以读取的numpy数组,有什么方法可以直接将fig对象转换为image对象(numpy数组) ?
非常感谢你们!
【问题讨论】:
-
我认为这是你想要的:stackoverflow.com/questions/42603161/…
-
我已经尝试过这个方法,我在切片上做了一些错误。但是,是的,这就是我想问的。
标签: python opencv matplotlib cv2 opencv-python