Перевести в оттенки серого
ms = np.frombuffer(wav.readframes(nframes), dtype={1: np.int8, 2: np.int16, 4: np.int32}[sampwidth])[0::int(nframes/w*4)]
plt.plot(ms)
im = BytesIO()
plt.savefig(im, format="png", dpi=DPI)
im.seek(0)
Затем считываю
img_rgb = cv2.imdecode(np.frombuffer(im.getvalue(), np.uint8), cv2.IMREAD_UNCHANGED)
Перевожу в оттенки серого
img_ser = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
Возможно ли в данном коде пр сохранении либо еще как
ms = np.frombuffer(wav.readframes(nframes), dtype={1: np.int8, 2: np.int16, 4: np.int32}[sampwidth])[0::int(nframes/w*4)]
plt.plot(ms)
im = BytesIO()
plt.savefig(im, format="png", dpi=DPI)
im.seek(0)
Сразу сгенерировать данные в оттенках серого? Чтобы в дальнейшем не переводить лишний раз??
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
Вы можете сразу выбрать цветовую карту для отображаемых графиков. например, так:
import matplotlib.pyplot as plt
import numpy as np
from cycler import cycler
X = [[1,2,3,4,5,6],[2,2,2,2,2,2]]
Y = [[5,2,1,3,5,4],[3,4,6,1,1,5]]
color = plt.cm.gray(np.linspace(0.1, 1, len(X[0]))) # третий аргумент - количество графиков
plt.rcParams["axes.prop_cycle"]=cycler(color=color)
plt.plot(X, Y)
plt.show()
получится что-то такое:
