zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    一些比较水的题目
    oracle not in,not exists,minus 数据量大的时候的性能问题
    简单的oracle分页语句
    oracle 查询结果集运算
    Spring注解详解
    HTTP报头Accept 和 Content-Type的区别
    vue 实现分转元的 过滤器
    oracle or语句的坑
    CSS样式 让你的输入的小写自动变成大写。
    js 十分精确身份证验证
  • 原文地址:https://www.cnblogs.com/carlber/p/9441218.html
Copyright © 2011-2022 走看看