Opencv第一个程序:显示图片

在使用python调用opencv时,首先需要导入opencv库。以下是如何使用python和opencv来显示图片的详细指南。

首先,导入OpenCV库:

import cv2 as cv

接下来,我们将介绍几个关键的API函数及其用法。

读取图片 cv2.imread()

使用cv2.imread()函数读取图像。第二个参数是一个标识,用于指定图像的读取方式。以下是官方文档的参数说明:

参数 含义
cv2.IMREAD_COLOR 默认使用该种标识。加载一张彩色图片,忽视它的透明度。
cv2.IMREAD_GRAYSCALE 加载一张灰度图。
cv2.IMREAD_UNCHANGED 加载图像,包括它的Alpha通道。

示例代码:

img = cv2.imread('lena.jpg', 0)

注意:如果图像路径错误,OpenCV不会提示错误,但当你使用print img时会得到None

显示窗口 cv2.namedWindow()

使用cv2.namedWindow()显示窗口。第二个参数是窗口的标识。

参数 含义
WINDOW_AUTOSIZE 窗口大小自动适应图片大小,并且不可手动更改。
WINDOW_NORMAL 用户可以改变这个窗口大小。
WINDOW_OPENGL 窗口创建的时候会支持OpenGL。

示例代码:

cv2.namedWindow('input_image', cv.WINDOW_AUTOSIZE)

显示图片 cv2.imshow()

使用cv2.imshow()函数显示图像。窗口会自动调整为图像大小。第一个参数是窗口的名字,其次才是图像。

示例代码:

cv2.imshow('image', img)

等待键盘输入 cv2.waitKey()

使用cv2.waitKey()等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入。若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。若没有按下任何键,超时后返回-1。参数为0表示无限等待。不调用waitKey的话,窗口会一闪而逝,看不到显示的图片。

示例代码:

cv2.waitKey(0)

销毁所有窗口 cv2.destroyAllWindows()

使用cv2.destroyAllWindows()销毁所有窗口。

示例代码:

cv2.destroyAllWindows()

实战Python代码

以下是使用Python和OpenCV显示图片的完整代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import cv2 as cv

src = cv.imread('111.jpeg') cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE) cv.imshow('input_image', src) cv.waitKey(0) cv.destroyAllWindows()

运行结果:

参考资料:

  • Python-OpenCV: cv2.imread(), cv2.imshow(), cv2.imwrite()
  • OpenCV_Python API 官方文档学习: cv2.imread()