保存没有 rgb 损失的 matplotlib 图

问题描述

我有一段代码,它接受一堆索引并使用 Matplotlib gca() 函数在 matplotlib 画布上用它们创建形状。使用缓冲区和 matplotlib 中的原始格式获取图形并保存它的代码如下所示:

fig = self.ax.figure
fig.canvas.draw ( )
io_buf = io.BytesIO()
fig.savefig(io_buf,format='raw',dpi=self.dpi)
w,h,dpi = fig.canvas._lastKey
io_buf.seek(0)
img_arr = np.reshape(np.frombuffer(io_buf.getvalue(),dtype=np.uint8),newshape=(int(h),int(w),4))
io_buf.close()
img_arr[:,:,:3]
source = Image.fromarray(img_arr).resize(self.fodderSize)

但我注意到保存的 rgb 值数组中的补丁不是恒定的。如果我对我的所有补丁只使用一种颜色,那么随着像素越来越接近补丁的边缘,每个补丁将具有该值的更亮和更亮像素的渐变。因此,由于有损,一种颜色会在输出中变成数百种颜色?我假设某处的数据压缩。 我需要这些数据是准确的,以便我可以从形状索引映射到一组相应的像素。如果输入和输出值在 python 中完全相等,那将是理想的,这样我就可以通过使用大量类似的 rgb 颜色并迭代输出以创建映射来非常快速地找到这个映射。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)