用python进行图片处理的一些方法

# 图片文字的正确显示

# 图片中负号的正确显示

# 图片的不同方式的拼接

 此方法一可以解决负号显示问题,方法二仅可以将中文汉字的显示问题解决。

#更改字体方法一
# 设置西文字体为新罗马字体
from matplotlib import rcParams

config = {
    "font.family":'SimHei',  # 设置字体类型
    "axes.unicode_minus": False #解决负号无法显示的问题
}
rcParams.update(config)

# 更改字体方法二
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'

将17份图片按照列展示出来,第一列为images,第二列为images1,第三列为images2,最终生成一份3列17行的图片排列

#保存图片//#融合图片
from PIL import Image

width = 394 *3
height = 275 *17
# 创建一个2x3大小的空白图片
result_image = Image.new('RGB', (width, height))

images=[]
# 分别打开十七张图片
for i in range(17):
    image_path = f"D:\\Dasan\\shujuwajue\\三峡文件数据分析\\三峡库区作物结构\\比例和ACC\\Figure 2024-03-25 214059 ({i}).png"
    imagei = Image.open(image_path)
    images.append(imagei)

images1=[]
# 分别打开十七张图片
for i in range(17):
    image_path = f"D:\\Dasan\\shujuwajue\\三峡文件数据分析\\三峡库区作物结构\\比例和NH3_N2O\\Figure 2024-03-26 192412 ({i}).png"
    imagei = Image.open(image_path)
    images1.append(imagei)

images2=[]
# 分别打开十七张图片
for i in range(17):
    image_path = f"D:\\Dasan\\shujuwajue\\三峡文件数据分析\\三峡库区作物结构\\比例和runoff_erosion_leaching\\Figure 2024-03-26 193448 ({i}).png"
    imagei = Image.open(image_path)
    images2.append(imagei)


# 设置新的宽度和高度
new_width = images[0].width
new_height = images[0].height

# 修改图片的大小
# 调整 images 中的图像大小
for i in range(1, 17):
    images[i] = images[i].resize((new_width, new_height))
# 调整 images1 中的图像大小
for i in range(0, 17):
    images1[i] = images1[i].resize((new_width, new_height))
# 调整 images2 中的图像大小
for i in range(0, 17):
    images2[i] = images2[i].resize((new_width, new_height))

# 将三组十七张图片按照顺序粘贴到结果图片上
for i in range(17):
    result_image.paste(images[i], (0, i * new_height))
    result_image.paste(images1[i], (new_width, i * new_height))
    result_image.paste(images2[i], (2 * new_width, i * new_height))


# 保存结果图片
result_image.save(r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\result_image1.jpg")

在同一个文件夹下的三张图片的拼接//我通常是将其生成的三个小的图片将其放置到一起,形成横坐标一致,纵坐标不同的一张图片,一行三列

#保存图片//#融合图片  #同一个文件夹下的三张图片的拼接
from PIL import Image

width = 389 *3
height = 260
# 创建一个1x3大小的空白图片
result_image = Image.new('RGB', (width, height))

images=[]
# 分别打开三张图片
for i in range(3):
    image_path = f"D:\\Dasan\\shujuwajue\\三峡文件数据分析\\三峡库区作物结构\\拟合曲线\\rapeseed\\Figure 2024-03-29 153346 ({i}).png"
    imagei = Image.open(image_path)
    images.append(imagei)

# 设置新的宽度和高度
new_width = images[0].width
new_height = images[0].height

# 修改图片的大小
# 调整 images 中的图像大小
for i in range(1, 3):
    images[i] = images[i].resize((new_width, new_height))

result_image.paste(images[0], (0, 0))
result_image.paste(images[1], (new_width, 0))
result_image.paste(images[2], (2 * new_width, 0))


# 保存结果图片
result_image.save(r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\rapeseed\result_image1.jpg")

三个文件夹下的三张图片的拼接,我通常是将上面代码生成的三个图片的一张集合图片进行拼接,最终生成一个3行3列的矩阵图片

#保存图片//#融合图片  #三个文件夹下的三张图片的拼接
from PIL import Image

width = 1167 
height = 260 *3
# 创建一个1x3大小的空白图片
result_image = Image.new('RGB', (width, height))

images=[]
# 分别打开三张图片

image_path1 = r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\rice\result_image1.jpg"
image_path2 = r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\maize\result_image1.jpg"
image_path3 = r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\rapeseed\result_image1.jpg"
imagei1 = Image.open(image_path1)
imagei2 = Image.open(image_path2)
imagei3 = Image.open(image_path3)
images.append(imagei1)
images.append(imagei2)
images.append(imagei3)

# 设置新的宽度和高度
new_width = images[0].width
new_height = images[0].height

# 修改图片的大小
# 调整 images 中的图像大小
for i in range(1, 3):
    images[i] = images[i].resize((new_width, new_height))

result_image.paste(images[0], (0, 0))
result_image.paste(images[1], (0, new_height))
result_image.paste(images[2], (0, 2* new_height))

# 保存结果图片
result_image.save(r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\result_image2.jpg")

或许之后还会更新,或者会发布新的文章来补充说明

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值