python-裁剪合并tif格式的图片

前言

一、先裁剪合适大小在合并

1.Image库

from PIL import Image

# 打开第一张tif文件
image1 = Image.open('image1.tif')

# 根据裁剪区域裁剪第一张图
cropped_image1 = image1.crop((x1, y1, x2, y2))  # 根据具体需求填入裁剪区域的坐标

# 打开第二张tif文件
image2 = Image.open('image2.tif')

# 根据裁剪区域裁剪第二张图
cropped_image2 = image2.crop((x1, y1, x2, y2))  # 根据具体需求填入裁剪区域的坐标

# 创建新的tif文件,大小为裁剪后的图像大小
merged_image = Image.new('RGB', (new_width, new_height))  # 根据具体需求填入新图像的宽度和高度

# 将第一张裁剪后的图像粘贴到新的tif文件中
merged_image.paste(cropped_image1, (x1, y1))  # 根据具体需求填入粘贴的起始坐标

# 将第二张裁剪后的图像粘贴到新的tif文件中
merged_image.paste(cropped_image2, (x2, y2))  # 根据具体需求填入粘贴的起始坐标

# 保存合并后的tif文件
merged_image.save('merged_image.tif')

2tifffile库

import tifffile

# 打开第一张tif文件
image1 = tifffile.imread('image1.tif')

# 根据裁剪区域裁剪第一张图
cropped_image1 = image1[x1 : x2 , y1 : y2]  # 根据具体需求填入裁剪区域的坐标

# 打开第二张tif文件
image2 = tifffile.imread('image2.tif')

# 根据裁剪区域裁剪第二张图
cropped_image2 = image2[x1 : x2 , y1 : y2]  # 根据具体需求填入裁剪区域的坐标

# 创建新的tif文件,大小为裁剪后的图像大小
merged_image = Image.new('RGB', (new_width, new_height))  # 根据具体需求填入新图像的宽度和高度

# 将第一张裁剪后的图像粘贴到新的tif文件中
merged_image.paste(cropped_image1, (x1, y1))  # 根据具体需求填入粘贴的起始坐标

# 将第二张裁剪后的图像粘贴到新的tif文件中
merged_image.paste(cropped_image2, (x2, y2))  # 根据具体需求填入粘贴的起始坐标

# 保存合并后的tif文件
merged_image.save('merged_image.tif')

二、把tif格式图片横向/纵向拼接

1.np.concatenate()

import numpy as np
import tifffile

# 读取 TIFF 图像
image1 = tifffile.imread('image1.tif')
image2 = tifffile.imread('image2.tif')

# 横向拼接
concatenated_horizontal = np.concatenate((image1, image2), axis=1)

# 纵向拼接
concatenated_vertical = np.concatenate((image1, image2), axis=0)

# 保存拼接后的图像
tifffile.imwrite('concatenated_horizontal.tif', concatenated_horizontal)
tifffile.imwrite('concatenated_vertical.tif', concatenated_vertical)

2. np.hstack()横向/np.vstack()纵向

import numpy as np
import tifffile

# 读取 TIFF 图像
image1 = tifffile.imread('image1.tif')
image2 = tifffile.imread('image2.tif')

# 横向拼接
result_horizontal = np.hstack(image1, image2) 

# 纵向拼接
result_vertical = np.vstack((image1, image2)

# 保存拼接后的图像
tifffile.imwrite('result_horizontal.tif', result_horizontal.tif)
tifffile.imwrite('result_vertical.tif', result_vertical.tif)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
python-docx中,要合并单元格可以使用merge()方法。该方法接受一个参数,即要合并的目标单元格。合并后会返回一个新的合并后的单元格对象。下面是一个示例代码: ```python from docx import Document doc = Document() table = doc.add_table(5, 3, style="Table Grid") # 获取要合并的单元格 cell1 = table.cell(0, 0) cell2 = table.cell(0, 1) # 合并单元格 merged_cell = cell1.merge(cell2) # 修改合并后的单元格文本 merged_cell.text = "合并后的单元格" # 保存文档 doc.save("merged_table.docx") ``` 在这个示例中,我们首先创建了一个包含5行3列的表格。然后,我们获取了要合并的两个单元格cell1和cell2。接下来,我们使用merge()方法将这两个单元格合并成一个新的单元格merged_cell。最后,我们修改了合并后的单元格的文本内容为"合并后的单元格"。最后,我们保存了文档。 请注意,合并单元格的操作会改变表格的结构,因此在合并单元格之前,请确保你已经理解了表格的结构和要合并的单元格的位置。 #### 引用[.reference_title] - *1* [【python-docx】添加表格、合并单元格、设置样式](https://blog.csdn.net/qq_39147299/article/details/125414499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [python docx处理word文档中表格合并问题](https://blog.csdn.net/u013546508/article/details/88687661)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python-docx 合并单元格](https://blog.csdn.net/qq1261275789/article/details/126380020)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值