python - 为什么python中的cv2.VideoWriter会改变定义的颜色
问题描述
在下面的代码中,我定义了fc='#fff300'
RGB所在的矩形的颜色(255,163,0)
。因此,视频的所有帧都应该具有上述颜色,但视频的RGB(36,255,219)
完全是另一种颜色。
我想知道如何保持视频矩形的颜色?
import matplotlib.pyplot as plt
import numpy as np
from cv2 import VideoWriter, VideoWriter_fourcc
pixels = 600
my_dpi = 100
FPS=1
for i in range(5):
fig = plt.figure(5,figsize=( pixels/my_dpi, pixels/my_dpi),facecolor='k', dpi=my_dpi)
plt.axes([0,0,1,1])
rectangle = plt.Rectangle((-300, -300), 600, 600, fc='#fff300')
plt.gca().add_patch(rectangle)
plt.savefig('1.png',dpi=my_dpi)
plt.show()
fig.canvas.draw() # draw the figure
data = np.frombuffer(fig.canvas.tostring_rgb(), dtype=np.uint8) # save it to a numpy array.
data = data.reshape(fig.canvas.get_width_height()[::-1] + (3,))
fourcc = VideoWriter_fourcc(*'MP42')
video = VideoWriter(('1.mp4'), fourcc, FPS, (pixels, pixels))
video.write(data)
video.release()
解决方案
推荐阅读
- post - 如何在继续使用 HttpWebRequest 发布数据的同时检查 HTTP 响应
- java - Criteria Api Vs QueryDsl Vs JPA 元模型
- postgresql - 选择没有价值的记录
- jquery - 复选框字段“重置”功能,更改时取消选中,直到再次选中
- html - 从具有嵌入阴影的文本开始,当我将鼠标悬停在每个字母上时,如何为每个字母进行颜色转换?仅使用 CSS 和 HTML
- java - 如何将 JButton 添加到 JFrame?
- ios - 模拟器中没有 Touch ID / Face ID 提示
- azure - 尝试从 Azure WebJob 写入文件
- java - Android WebView - 2018 年的文本选择侦听器
- c# - Xamarin.Forms C# 属性未在 Device.StartTimer 中更新