from PIL import Image
from pylab import *
# 读取图像到数组中
# convert('L')表示将RGB转换为L模式,表示像素点在[0,255]之间
im = array(Image.open('D:/1.jpg').convert('L'))
# 新建一个图像
figure()
# 使用颜色信息
gray()
# 在原点的左上角显示轮廓图像
contour(im, origin='image')
axis('equal')
axis('off')
figure()
hist(im.flatten(),128)
show()
运行截图:
心得收获:
1. PIL在pillow中,需要下载64位的pillow,PIL库图像识别,图像处理效果较好,PIL是一个优秀的图像处理框架,其中image模块用的比较多(参考资料:https://blog.csdn.net/louishao/article/details/69879981)
2.pylab 模块是一款由python提供的可以绘制二维,三维数据的工具模块,其中包括了绘图软件包 matplotlib,其可以生成matab绘图库的图像。在matplotlib库中,在此例中用于建立坐标系(axis()),描绘像素点RGB值与坐标
3.图像读取(参考资料:https://www.cnblogs.com/denny402/p/5121897.html)
本例中用的是im = array(Image.open('D:/1.jpg').convert('L')) ,还可以使用skimage模块(from skimage import io),使用语句img=io.imread('D:/1.jpg')
convert()函数(参考资料:https://www.2cto.com/kf/201603/492895.html),在PIL库中
4.Figure代表一个绘制面板,其中可以包涵多个Axes(即多个图表),使用import matplotlib.pyplot as plt(参考资料:https://blog.csdn.net/ywjun0919/article/details/8692018)
5.gary()表示图像颜色空间,可以读取出图像的灰度值与RGB值。
6.contour()检测图像轮廓,也可以绘制等高线等
7.hist()表示创建直方图(参考资料:https://www.cnblogs.com/python-life/articles/6084059.html)
flatten()是numpy.ndarray.flatten的一个函数,即返回一个折叠成一维的数组。但是该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行的
(参考资料:https://blog.csdn.net/lilong117194/article/details/78288795)
网友评论