Python图像处理函数,实现基本图像操作
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图像处理的强大功能。
