zoukankan      html  css  js  c++  java
  • day2 Opencv + image

    【参考网站】http://backyardlife.duapp.com/duan/

    1.目标:

      读入一幅图像,怎样显示一幅图像,以及如何保存一幅图像
        cv2.imread(),cv2.imshow(),cv2.imwrite()

      Matplotlib 显示一幅图片

    2.实例

      1.读入图像

    #coding=utf-8
    #cv2.imread(),cv2.imshow(),cv2.imwrite()
    
    import numpy as np
    import cv2
    
    img = cv2.imread('22.png',0)    #读入图像
    #img = cv2.IMREAD_COLOR('22.png',0)    #读入彩色图像图像
    #img = cv2.IMREAD_COLOR('22.png',0)    #读入彩色图像
    #img = cv2.IMREAD_GRAYSCALE('22.png',0)    #TypeError: 'int' object is not callable 以灰度模式读入图像
    #4  2   1   0   8   -1
    
    cv2.imshow('image',img)     # 显示图像
    
    cv2.waitKey(0)          #cv2.waitKey() 是一个键盘绑定函数
    cv2.destroyAllWindows() #cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口
    

      

      

      2.你也可以先创建一个窗口,之后再加载图像。函数:cv2.namedWindow()

    #coding=utf-8
    #cv2.imread(),cv2.imshow(),cv2.imwrite()
    
    import numpy as np
    import cv2
    
    img = cv2.imread('22.png',0)    #读入图像
    
    cv2.namedWindow('image',cv2.WINDOW_NORMAL)      # cv2.namedWindow()先创建一个窗口,之后再加载图像
    cv2.imshow('image',img)         # 显示图像
    
    cv2.imwrite('22bak.png',img)    #保存图像
    
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

      

      3.保存图像函数   cv2.imwrite() 来保存一个图像

    # coding=utf-8
    
    '''
    加载一个灰度图,显示图片,按下’s’键保存后退出,或者
    按下 ESC 键退出不保存。
    '''
    
    import numpy as np
    import cv2
    
    img = cv2.imread('22.png',0)
    cv2.imshow('image',img)
    k = cv2.waitKey(0)          #cv2.waitKey() 是一个键盘绑定函数
    if k == 27:
        cv2.destroyAllWindows()     #删除任何我们建立的窗口
    elif k == ord('s'):
        cv2.imwrite('k.png',img)    #保存图片
        cv2.destroyAllWindows()     #删除任何我们建立的窗口
    

      

      

      4.使用 Matplotlib

      Matplotib 是 python 的一个绘图库,里头有各种各样的绘图方法。

    # coding=utf-8
    import numpy as np
    import cv2
    from matplotlib import pyplot as plt
    
    img = cv2.imread('22.png',1)
    
    plt.imshow(img, cmap = 'gray',interpolation='bicubic')
    
    plt.xticks([]),plt.yticks([])   #在 X 和 Y 轴上隐藏刻度值
    plt.show()
    

      

     

  • 相关阅读:
    BZOJ 1444 有趣的游戏(AC自动机+矩阵快速幂)
    BZOJ 1190 梦幻岛宝珠(分组01背包)
    BZOJ 1562 变换序列(二分图匹配)
    BZOJ 1483 梦幻布丁(链表+启发式合并)
    BZOJ 1222 产品加工(DP)
    java GUI编程一
    java 网络编程
    java 异常
    java 线程二
    java 线程一
  • 原文地址:https://www.cnblogs.com/venicid/p/7599204.html
Copyright © 2011-2022 走看看