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

Python图像处理函数,实现基本图像操作

发布时间:2023-06-24 14:11:29

Python图像处理是一种常用的数据处理技术,可以应用于很多领域,例如医学图像处理、数字图片处理和视频处理等等。本文将重点介绍Python图像处理函数并实现基本图像操作。

一、读取图片

使用Python图片处理库,可以轻松地读取图片。常用的Python图片处理库有opencv、Pillow、matplotlib等。以Pillow库为例,以下代码演示如何读取图片。

from PIL import Image

# 打开图片

img = Image.open('test.jpg')

# 显示图片

img.show()

上述代码首先导入Pillow库,通过Image.open()实现打开一张图片,输出结果如下图所示。

二、图像缩放

图像缩放是一项很常用的图像处理技术。Python图像处理库可以实现灵活的图像缩放,通过resize()函数可以调整图片尺寸,例如下面的代码演示了如何将图片缩放为原来的一半。

from PIL import Image

 

# 打开图片

img = Image.open('test.jpg')

# 图片缩放

img_resized = img.resize((int(img.size[0] / 2), int(img.size[1] / 2)))

# 显示图片

img_resized.show()

上述代码,使用resize()函数将图片尺寸缩小了一半,输出结果如下图所示。

三、图像裁剪

图像裁剪是指将图片的一部分区域保留下来,并去除其他部分的图像操作。可以使用Python图像处理库实现图像裁剪技术,crop()函数可以裁剪图片。例如下面的代码演示了如何对图片进行裁剪操作。

from PIL import Image

 

# 打开图片

img = Image.open('test.jpg')

# 图片裁剪

img_crop = img.crop((100, 100, 500, 500))

# 显示图片

img_crop.show()

上述代码使用crop()函数对图片进行裁剪操作,并将裁剪后的图片显示出来,输出结果如下图所示。

四、图像旋转

图像旋转是指对图片进行旋转操作。可以使用Python图像处理库实现灵活的图像旋转。通过rotate()函数可以实现对图片的旋转操作。例如下面的代码演示了如何对图片进行旋转操作。

from PIL import Image

 

# 打开图片

img = Image.open('test.jpg')

# 图片旋转

img_rotated = img.rotate(90)

# 显示图片

img_rotated.show()

上述代码使用rotate()函数对图片进行了旋转操作,并将旋转后的图片显示出来,输出结果如下图所示。

五、图像亮度和对比度调整

图像亮度和对比度的调整是图像处理的常见操作。可以使用Python图像处理库实现灵活的图片亮度和对比度调整,通过ImageEnhance库中的Contrast()和Brightness()函数可以分别实现对比度和亮度的调整。例如下面的代码展示如何实现这一过程。

from PIL import ImageEnhance

from PIL import Image

 

# 打开图片

img = Image.open('test.jpg')

# 亮度调整

enh_bri = ImageEnhance.Brightness(img)

img_brightened = enh_bri.enhance(1.5)

# 对比度调整

enh_con = ImageEnhance.Contrast(img)

img_contrasted = enh_con.enhance(1.5)

# 显示图片

img_brightened.show()

img_contrasted.show()

上述代码将“test.jpg”图像分别进行亮度和对比度的调整,并输出结果,如下图所示。

六、图像二值化

图像二值化是图像处理中常见的操作技术,可以将图片处理为简单的二进制格式。可以使用Python图像处理库实现灵活的图片二值化处理。其中,threshold()函数可以实现将图片二值化。例如下面的代码展示如何实现这一过程。

from PIL import Image

 

#打开图片

img = Image.open('test.jpg')

#灰度化图片

img = img.convert('L')

#二值化处理

threshold = 100

table = []

for i in range(256):

    if i < threshold:

        table.append(0)

    else:

        table.append(1)

img_binarized = img.point(table, '1')

# 显示图片

img_binarized.show() 

上述代码将“test.jpg”图像进行了灰度化、二值化等操作,并输出结果,如下图所示。

总结

Python图像处理是一种强大的数据处理技术,可以应用于很多领域。本文简单介绍了Python图像处理中常用的函数,并实现了基本图像操作技术,例如读取图片、图像缩放、图像裁剪、图像旋转、图像亮度和对比度调整、图像二值化。通过这些基本图像操作的演示,读者可以体验到Python图像处理的强大功能。