图1-33 在鹦鹉图像上绘制文本
(10)创建缩略图。可以使用thumbnail()函数创建图像的缩略图,如下面的代码所示:
im_thumbnail = im.copy() # need to copy the original image first
im_thumbnail.thumbnail((100,100))
# now paste the thumbnail on the image
im.paste(im_thumbnail, (10,10))
im.save("../images/parrot_thumb.jpg")
im.show()
运行上述代码,输出图像如图1-34所示。
图1-34 鹦鹉图像的缩略图
(11)计算图像的基本统计信息。可以使用stat模块来计算一幅图像的基本统计信息(不同通道像素值的平均值、中值、标准差等),如下面的代码所示:
s = stat.Stat(im)
print(s.extrema) # maximum and minimum pixel values for each channel R, G,B
# [(4, 255), (0, 255), (0, 253)]
print(s.count)
# [154020, 154020, 154020]
print(s.mean)
# [125.41305674587716, 124.43517724970783, 68.38463186599142]
print(s.median)
# [117, 128, 63]
print(s.stddev)
# [47.56564506512579, 51.08397900881395, 39.067418896260094]
(12)绘制图像RGB通道像素值的直方图。histogram()函数可用于计算每个通道像素的直方图(像素值与频率表),并返回相关联的输出(例如,对于RGB图像,输出包含3×256=768个值),如下面的代码所示:
pl = im.histogram()
plt.bar(range(256), pl[:256], color='r', alpha=0.5)
plt.bar(range(256), pl[256:2*256], color='g', alpha=0.4)
plt.bar(range(256), pl[2*256:], color='b', alpha=0.3)
plt.show()
运行上述代码,输出图像如图1-35所示,即绘制R、G和B颜色直方图。
图1-35 RGB三色直方图
余下的部分内容因篇幅关系略掉。
本文摘自《Python图像处理实战》
本书介绍如何用流行的Python 图像处理库、机器学习库和深度学习库解决图像处理问题。先介绍经典的图像处理技术,然后探索图像处理算法的演变历程,始终紧扣图像处理以及计算机视觉与深度学习方面的**进展。全书共12 章,涵盖图像处理入门基础知识、应用导数方法实现图像增强、形态学图像处理、图像特征提取与描述符、图像分割,以及图像处理中的经典机器学习方法等内容。
本书适合Python 工程师和相关研究人员阅读,也适合对计算机视觉、图像处理、机器学习和深度学习感兴趣的软件工程师参考。