• 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
  • 相关阅读:
    C# 中类重写 ToString 方法
    虚方法(virtual)和抽象方法(abstract)的区别
    C#的扩展方法学习
    C# .NET 和.NET Framework区别
    C#值类型和引用类型
    抽象和接口的区别和使用
    什么是委托?
    什么是继承?
    设计模式:单一职责原则
    Java 13,最新最全新特性解读
  • 原文地址:https://www.cnblogs.com/carlber/p/9441218.html
Copyright © 2020-2023  润新知