zoukankan      html  css  js  c++  java
  • python_opencv库的学习

    一、以灰度图的形式加载彩色图像。

    https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html

    import numpy as np
    import cv2
    
    # Load an color image in grayscale
    img = cv2.imread('lane_line.jpg',0)
    cv2.imshow("image", img)
    cv2.waitKey(0)

    警告:即便路径错误,也不会抛出错误,只会返回None。

    二、显示一个图像。

    '''
    图像显示函数:cv2.imshow('image',img)
    第一个参数是一个窗口名,它是一个字符串。第二个参数是我们的图像。您可以创建任意数量的窗口,但是使用不同的窗口名称。
    '''
    import numpy as np
    import cv2
    
    # Load an color image in grayscale
    img = cv2.imread('lane_line.jpg',0)
    cv2.imshow('image',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    三、waitKey()函数:

    waitkey()是一个键盘绑定函数。它的参数是以毫秒为单位的时间。该函数等待任何键盘事件的指定毫秒。如果在这段时间内按任意键,程序将继续。如果传递0,它将无限期地等待击键。它还可以设置检测特定的击键,如,如果按下键a等。

    四、destroy allwindows()函数:

    destroy allwindows()只会销毁我们创建的所有窗口。如果您希望销毁任何特定的窗口,请使用函数cv2.destroyWindow(),在该函数中,您将传递确切的窗口名作为参数

    五、图像窗口可调:

    '''
    注意,有一种特殊的情况,您可以在稍后创建窗口并将图像加载到其中。在这种情况下,您可以指定窗口是否可调整大小。
    这是通过函数cv2.namedWindow()完成的。默认情况下,标志是cv2.WINDOW_AUTOSIZE。但是如果你指定flag为cv2。WINDOW_NORMAL,
    可以调整窗口大小。当图像尺寸过大时,在窗口中添加跟踪条是很有帮助的
    '''
    import numpy as np
    import cv2
    
    # Load an color image in grayscale
    img = cv2.imread('lane_line.jpg',0)
    # cv2.imshow('image',img)
    # cv2.waitKey(0)
    # cv2.destroyAllWindows()
    
    cv2.namedWindow('image', cv2.WINDOW_NORMAL)
    cv2.imshow('image',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    六。用opencv保存一个图像:

    使用函数cv2.imwrite()保存图像,First argument is the file name, second argument is the image you want to save.

    cv2.imwrite('messigray.png',img)
    

    This will save the image in PNG format in the working directory.

    七、一个综合一点的例子:

    '''
    下面的程序加载一个灰度图像,显示它,保存图像,如果你按' s '就保存并退出,或干脆退出不保存如果你按ESC键
    警告:如果您使用的是64位机器,则必须修改k = cv2.waitKey(0)为:k = cv2.waitKey(0) & 0xFF
    '''
    import numpy as np
    import cv2
    
    img = cv2.imread('lane_line.jpg',0)
    cv2.imshow('image',img)
    k = cv2.waitKey(0) & 0xFF
    if k == 27:         # wait for ESC key to exit
        cv2.destroyAllWindows()
    elif k == ord('s'): # wait for 's' key to save and exit
        cv2.imwrite('messigray.png',img)
        cv2.destroyAllWindows()

    八、用opencv读取图像,用Matplotlib 显示图像:

    '''
    Matplotlib是一个Python绘图库,它提供了各种各样的绘图方法。
    您将学习如何使用Matplotlib显示图像。你可以使用Matplotlib缩放图像,保存图像等等
    OpenCV加载的彩色图像为BGR模式。但是Matplotlib以RGB模式显示。因此,如果使用OpenCV读取图像,
    在Matplotlib中无法正确显示彩色图像。请参阅练习了解更多细节
    '''
    import numpy as np
    import cv2
    from matplotlib import pyplot as plt
    
    img = cv2.imread('lane_line.jpg',0)
    plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
    plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
    plt.show()
  • 相关阅读:
    Python基础-画菱形
    Python基础-List找重复数
    celery的使用
    linux上安装git以及使用
    python解压压缩包的几种方式
    os 和shutil模块的使用方法
    C++学习网站总结
    道德经
    使用BeautifulSoup爬取汽车之家新闻
    RPA项目所遇知识点
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/10184969.html
Copyright © 2011-2022 走看看