python - 有没有办法在没有空白的情况下保存图像?
问题描述
关于图像中的空白,我有两个问题。我正在尝试训练语义分割模型,但我的数据当前存储方式有两个问题。
首先,如果我使用 plt.savefig() ,图像将被存储为如下所示的白色细边框。这是使用 bbox_inches='tight':
然而,为了将它用作我的遮罩层,它需要有单独的标签——这里的白色和显示“背景”的东西应该只标记为 0,红色应该标记为“1”。我不太清楚如何做到这一点,谷歌搜索并没有把我带到任何地方——主要问题是这张图片的背景(使用 plt.fill() 生成)是白色的,我认为这会导致问题。
解决方案
我认为您需要逐个像素地工作并检查颜色是否为白色尝试使用
from PIL import Image r,b,g,p = picture.getpixel( (0,0) ) print("Red: {0}, Green: {1}, Blue: {2}".format(r,g, b))
在这里,您将了解该像素的 RBG 颜色是什么,之后,您可以使用更改像素颜色
Image.putdata(数据,比例,偏移)
将像素值从序列对象复制到图像中,从左上角 (0, 0) 开始。比例和偏移值用于调整序列值:
像素 = 值 * 比例 + 偏移
如果省略比例,则默认为 1.0。如果省略偏移量,则默认为 0.0。
推荐阅读
- python - 如果字符串在列名中,如何选择列
- python - 在 IDLE 中编辑不在特定文件夹中工作
- graph - 将系统分配的托管标识的委派权限分配给 Graph Api
- pandas - 为什么 Pandas df.head() 与 to_csv 导出显示不同
- bootstrap-5 - 我的引导程序 5 轮播按钮不起作用
- firebase - Flutter:将日期时间转换为时间戳
- docker - 在 docker buildkit 中使用秘密标志的正确方法
- spring - 使用java实现弹性搜索过滤器聚合
- reactjs - Material-UI Data-Grid:如何将参数传递给自定义工具栏?
- pytorch - 如何将 Pytorch DataLoader 用于具有多个标签的数据集