jupyter lab先拼接两张图片,显示出两张图片和拼接后的图片,要求上下拼接,然后在显示出两张图片的灰度图和上下拼接完成的灰度图
时间: 2024-09-19 17:01:21 浏览: 31
Python-Multiple-Image-Stitching-master.zip(Python 多图像拼接源码)
在Jupyter Lab中,你可以使用`matplotlib`库中的功能来实现这个需求。首先,你需要安装`PIL`(Python Imaging Library)用于图像处理,以及`matplotlib`。如果你还没有安装,可以运行以下命令:
```bash
pip install pillow matplotlib
```
然后,以下是使用`PIL`读取图片、合并,并显示灰度版本的步骤:
```python
import os
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
# 加载图片
img1_path = 'path_to_image1.jpg'
img2_path = 'path_to_image2.jpg'
# 读取图片
img1 = Image.open(img1_path)
img2 = Image.open(img2_path)
# 合并图片 - 上下拼接
combined_img = Image.new('RGB', (img1.width, img1.height + img2.height))
combined_img.paste(img1, (0, 0))
combined_img.paste(img2, (0, img1.height))
# 显示原图和拼接后的图片
fig, axs = plt.subplots(1, 2, figsize=(10, 5))
axs[0].imshow(combined_img)
axs[0].axis('off')
axs[0].set_title('Original Images')
# 转换为灰度图
gray1 = img1.convert('L')
gray2 = img2.convert('L')
gray_combined = combined_img.convert('L')
# 显示灰度图
axs[1].imshow(gray1, cmap='gray')
axs[1].axis('off')
axs[1].set_title('Grayscale Image 1')
axs[2].imshow(gray2, cmap='gray')
axs[2].axis('off')
axs[2].set_title('Grayscale Image 2')
gray_combined_axis = axs[3]
gray_combined_axis.imshow(gray_combined, cmap='gray')
gray_combined_axis.axis('off')
gray_combined_axis.set_title('Combined Grayscale Image')
plt.show()
```
记得将`path_to_image1.jpg` 和 `path_to_image2.jpg`替换为你的图片文件路径。
阅读全文