欢迎访问宙启技术站
智能推送

Python中使用imageio库进行图像格式转换

发布时间:2023-12-11 00:16:17

imageio是一个用于读取和写入各种图像格式的Python库。它可以与多种图像处理库(如NumPy和Pillow)结合使用,提供方便的图像处理功能。

下面是一个使用imageio库进行图像格式转换的简单例子:

import imageio

# 读取图像
image = imageio.imread('input.jpg')

# 将图像保存为png格式
imageio.imsave('output.png', image)

# 将图像转换为灰度图并保存为png格式
gray_image = imageio.imread('input.jpg', as_gray=True)
imageio.imsave('gray_output.png', gray_image)

在上面的例子中,我们首先使用imageio.imread()函数读取了一个名为input.jpg的图像。然后,我们使用imageio.imsave()函数将原始图像保存为了一个名为output.png的png格式图像。

接下来,我们使用as_gray=True参数将图像转换为灰度图,并使用imageio.imsave()函数将灰度图保存为了一个名为gray_output.png的png格式图像。

除了上述例子中提到的常见图像格式(如jpeg和png),imageio还支持许多其他图像格式,如tif、bmp和gif等。

同时,imageio库还具有灵活的函数,用于支持图像的裁剪、旋转和缩放等操作。

import imageio

# 读取图像
image = imageio.imread('input.jpg')

# 裁剪图像
cropped_image = image[100:300, 200:400]

# 将图像旋转90度
rotated_image = imageio.imrotate(image, 90)

# 缩放图像
scaled_image = imageio.imresize(image, (400, 600))

# 将图像保存为jpeg格式
imageio.imsave('output.jpg', image)

在上述例子中,我们首先使用imageio.imread()函数读取了一个名为input.jpg的图像。

然后,我们使用切片操作选取图像的一个子区域,将其裁剪为一个名为cropped_image的新图像。

接下来,使用imageio.imrotate()函数将原始图像旋转了90度,并将旋转后的图像保存为了一个名为rotated_image的新图像。

然后,我们使用imageio.imresize()函数将原始图像缩放为了一个大小为(400, 600)的新图像,并将新图像保存为了一个名为scaled_image的图像。

最后,我们使用imageio.imsave()函数将原始图像保存为了一个名为output.jpg的jpeg格式图像。

这只是利用imageio进行图像格式转换和简单处理的一些例子,imageio还提供了更多函数和选项,用于高级图像处理和分析。你可以参考imageio的官方文档以了解更多详细信息。