美文网首页
OpenCV-Python 展示图像(1)

OpenCV-Python 展示图像(1)

作者: 翼徳 | 来源:发表于2019-04-02 19:31 被阅读0次

    OpenCV 版本:3.4.3
    编程语言:Python
    原文:https://docs.opencv.org/3.4.3/dc/d2e/tutorial_py_image_display.html

    可以用 cv.imshow(winName, imgMat) 函数在窗口中显示图像。窗口大小会随着图像大小自动调整。

    第一个参数是字符串类型,表示窗口名称,可以用不同的窗口名称来创建多个窗口。
    第二个参数是要显示的图像数据。

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

    注意:
    必须通过cv.waitKey(dealy) 函数指定窗口延时时间,否则图像无法显示。

    窗口延迟

    可以用 cv.waitKey(delay) 函数延迟窗口显示时间。其中参数dealy表示要延迟的毫秒数。
    由于操作系统是多线程执行,所以严格来说dealy表示最少延迟多少毫秒。

    delay 默认值为 0,当 dealy <=0 时,表示永久延迟,直到键盘按下任意键。

    该函数会返回按键的代码值,如果在dealy值期间一直没有按,则返回 -1。在64位机器上,返回值需要加 & 0xFF

    # 当按下 ESC键时,关闭所有窗口
    k = cv.waitKey(0) & 0xFF
    if k == 27
        cv.destroyAllWindows()
    

    窗口定义

    另外一种场景是先创建一个窗口,然后用这个窗口来显示的图像。在下面的例子中,你可以指定窗口是否能够自动调整大小。

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

    可以用 cv.namedWindow(winName, flags) 函数定义窗口。

    flags 值定义如下:

    常量名称 说明
    cv.WINDOW_NORMAL 允许手工调整窗口大小
    cv.WINDOW_AUTOSIZE 窗口根据图像大小自动调整,无法手工调整
    cv.WINDOW_FREERATIO 允许非等比例调整图像
    cv.WINDOW_KEEPRATIO 保持等比例调整图像
    cv.WINDOW_GUI_NORMAL 不显示工具栏和状态栏(旧方法)
    cv.WINDOW_GUI_EXPANDED 增强版的GUI(新方法)

    默认 flags 为:

    WINDOW_AUTOSIZE | WINDOW_KEEPRATIO | WINDOW_GUI_EXPANDED
    

    表示根据图像来自动等比例的调整窗口大小,并用新的增强版GUI展示。

    销毁窗口

    可以用 cv.destroyAllWindows() 函数销毁我们创建的所有窗口。

    如果你想销毁指定的窗口,可以用 cv.destroyWindow(winName) 函数,参数为窗口名称,可以通过窗口名称来指定要销毁的窗口。

    相关文章

      网友评论

          本文标题:OpenCV-Python 展示图像(1)

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