如何使用Python代码读取.mat文件中的多幅图像,并将其转换为.jpeg格式并保存到指定文件夹中?
时间: 2024-12-02 22:14:19 浏览: 86
在Python中,你可以使用`scipy.io`模块来读取`.mat`文件中的多幅图像,然后利用`PIL`(Pillow)库将其转换为`.jpeg`格式并保存。以下是一个简单的步骤示例:
```python
import scipy.io as sio
from PIL import Image
# 1. 读取.mat文件中的多幅图像数据
data = sio.loadmat('your_mat_file.mat') # 替换 'your_mat_file.mat' 为你实际的文件名
images = data['image_array'] # 假设 'image_array' 是.mat文件中的图像数据
# 检查图像数组是否有多个图像
if len(images.shape) == 4 and images.shape[0] > 1: # 假设每个图像是一维数组
n_images = images.shape[0]
else:
raise ValueError("MAT file doesn't contain multiple images or image array has incorrect shape.")
# 2. 创建目标文件夹(如果不存在)
output_folder = 'target_folder' # 替换 'target_folder' 为你想保存的文件夹路径
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 3. 转换并保存图像
for i, img_data in enumerate(images):
pil_img = Image.fromarray(img_data)
# 可能需要对图像进行预处理(如裁剪、缩放等)
# pil_img = pil_img.crop((left, top, right, bottom)) # 根据需求裁剪
# pil_img = pil_img.resize((new_width, new_height)) # 缩放大小
output_path = f"{output_folder}/image_{i}.jpeg" # 输出文件名,可以自定义命名规则
pil_img.save(output_path)
print(f"所有图像已成功转换并保存至{output_folder}目录下。")
阅读全文
相关推荐


















