python - 如何在 matplotlib 中保留原始图像质量
问题描述
我正在尝试使用 matplotlib 对原始图像进行一些修改。这是一个可复制的代码:
fig, ax = plt.subplots(figsize=(7.68, 10.24))
img = matplotlib.image.imread(img_path)
ax.imshow(img)
plt.xticks([])
plt.yticks([])
plt.savefig('try.png')
但是,即使返回相同的分辨率,在此过程之后图像质量也会下降。保存图像时如何保持图像质量?
解决方案
您需要创建一个轴以占用图中可用的整个空间,并创建一个具有正确尺寸的图:
img = plt.imread('caOkv.jpg', format='JPG')
h,w,_ = img.shape
dpi = 100
fig = plt.figure(figsize=(w/dpi, h/dpi), dpi=dpi)
ax = fig.add_axes([0,0,1,1])
ax.axis('off')
ax.imshow(img)
推荐阅读
- one-to-many - PowerBI - 尝试通过可视化中的多列对一对多列进行排序,它始终是一对一的
- hive - 1 小时前的 Hive SELECT 记录
- java - 在 Struts 中使用 Tuckey URL Rewrite 在 URL Rewrite 方面需要帮助
- javascript - 如何在 React 中为 react-helmet 进行元标记和标题单元测试?
- javascript - 将 JSON 字符串发送到我的后端代码以将其添加到我的数据库,但它没有添加任何内容
- ios - 检测 iPhone 上的应用程序安装失败
- javascript - 如何拦截服务工作者的打开网址?
- sharepoint - 将 {Sharepoint.LoginName} 添加到 sharepoint 2010 中 URL 中的查询字符串
- angular5 - 使用 Angular 5 和 Express JS 在位置 0 的 JSON 中出现意外的标记 #
- highcharts - 是否可以将固定的 y 轴设置为每秒更新一次样条图