美文网首页
opencv图像入门

opencv图像入门

作者: 蛱蝶飞来过墙去 | 来源:发表于2019-06-25 14:17 被阅读0次

    阅读图片

    import numpy as np
    import cv2 as cv
    # Load an color image in grayscale
    img = cv.imread('messi5.jpg',0)
    

    使用函数cv.imread()读取图像。图像应位于工作目录中,或者应提供完整的图像路径。
    第二个参数是一个标志,指定应该读取图像的方式。

    • cv.IMREAD_COLOR:加载彩色图像。任何图像的透明度都将被忽略。这是默认标志
    • cv.IMREAD_GRAYSCALE:以灰度模式加载图像
    • cv.IMREAD_UNCHANGED:加载图像,包括alpha通道
      注意:即使图像路径错误,它也不会抛出任何错误,但print img会给你None

    显示图片

    cv.imshow('image',img)
    cv.waitKey(0)
    cv.destroyAllWindows()
    

    使用函数cv.imshow()在窗口中显示图像。窗口自动适应图像大小。
    第一个参数是一个窗口名称,它是一个字符串。
    第二个参数是读取的图像。 您可以根据需要创建任意数量的窗口,但使用不同的窗口名称。

    cv.waitKey()是一个键盘绑定函数。它的参数是以毫秒为单位的时间。该函数等待任何键盘事件的指定毫秒。如果您在该时间内按任意键,程序将继续。如果为 0,则无限期等待键击。它也可以设置为检测特定的键击,如果按下键a等,我们将在下面讨论。

    注意:除了绑定键盘事件,此函数还处理许多其他GUI事件,因此您必须使用它来实际显示图像。
    cv.destroyAllWindows()只是破坏了我们创建的所有窗口。如果要销毁任何特定窗口,请使用函数 cv.destroyWindow(),其中传递确切的窗口名称作为参数。

    cv.namedWindow('image',cv.WINDOW_NORMAL)
    cv.imshow('image',img)
    cv.waitKey(0)
    cv.destroyAllWindows()
    

    有一种特殊情况,您可以在以后创建窗口并将图像加载到该窗口。在这种情况下,您可以指定窗口是否可调整大小。它使用函数cv.namedWindow()完成。默认情况下,标志为cv.WINDOW_AUTOSIZE。但是如果将flag指定为cv.WINDOW_NORMAL,则可以调整窗口大小。当图像尺寸过大并向窗口添加轨迹栏时,它会很有用。

    写一个图像

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

    第一个参数是文件名/路径,第二个参数是要保存的图像。

    import numpy as np
    import cv2 as cv
    img = cv.imread('messi5.jpg',0)
    cv.imshow('image',img)
    k = cv.waitKey(0)
    if k == 27:         # wait for ESC key to exit
        cv.destroyAllWindows()
    elif k == ord('s'): # wait for 's' key to save and exit
        cv.imwrite('messigray.png',img)
        cv.destroyAllWindows()
    

    警告
    如果您使用的是64位计算机,则必须k = cv.waitKey(0)按如下方式修改行:k = cv.waitKey(0) & 0xFF

    使用Matplotlib

    import numpy as np
    import cv2 as cv
    from matplotlib import pyplot as plt
    img = cv.imread('messi5.jpg',0)
    plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
    plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
    plt.show()
    

    Matplotlib是Python的绘图库,为您提供各种绘图方法。您将在即将发表的文章中看到它们。在这里,您将学习如何使用Matplotlib显示图像。您可以使用Matplotlib缩放图像,保存等。
    警告
    OpenCV加载的彩色图像处于BGR模式。但Matplotlib以RGB模式显示。因此,如果使用OpenCV读取图像,则Matplotlib中的彩色图像将无法正确显示。

    相关文章

      网友评论

          本文标题:opencv图像入门

          本文链接:https://www.haomeiwen.com/subject/bgptcctx.html