python——matplotlib图像的基本处理

1.绘制图像中的点和线

from PIL import Image
from pylab import *

im = array(Image.open('E:Pythonmeinv.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:Pythonmeinv.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:Pythonmeinv.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
原文地址:https://www.cnblogs.com/carlber/p/9441218.html