python——matplotlib图像的基本处理
1.绘制图像中的点和线
from PIL import Image from pylab import * im = array(Image.open('E:\Python\meinv.jpg')) imshow(im) x = [110,110,315,315] #定义好要绘制的点的坐标(x,y) y = [0,272,272,0] plot(x,y,'r*') #这些点以红色*号的方式绘制出来 plot(x[:4],y[:4],'y--') #绘制连接这四个点的线 线的形式为:黄色虚线 title("meinv.jpg") #图像的标题 #axis('off') show()
2.图像的轮廓与直方图
from PIL import Image from pylab import * #读取图像到数组中 im = array(Image.open('E:\Python\meinv.jpg').convert('L')) figure() #新建一个图像 gray() #不使用颜色信息 使不使用都可以吧 contour(im,origin = 'image') #在原点的左上角显示轮廓图像 #新建一个图像 figure() hist(im.flatten(),256) #hist()函数的第二个参数指定小区间的数目 hist()函数只接受一维数组作为输入,用flatten()函数转换成一维数组 axis('equal') show()
3.交互式标注
有时用户需要和某些应用交互,例如在一幅图像中标记一些点,ginput()函数就可实现交互式标注
from PIL import Image from pylab import * im = array(Image.open('E:\Python\meinv.jpg')) imshow(im) print('plaease click 3 points') x = ginput(3) print('you clicked',x) show()
运行结果:
plaease click 3 points you clicked [(181.43548387096774, 85.75806451612902), (221.11290322580646, 97.37096774193549), (191.11290322580646, 119.62903225806451)] Process finished with exit code 0