读入图像:
使用函数cv2.imread() 读入图像。这幅图像应该在此程序的工作路径,或者给函数提供完整路径,
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 31 19:16:05 2013
@author: duan
"""
import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('messi5.jpg',0)
第二个参数是要告诉函数应该如何读取这幅图片。
• cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,
这是默认参数。
• cv2.IMREAD_GRAYSCALE:以灰度模式读入图像
cv2.IMREAD_UNCHANGED:读入一幅图像,并且包括图像的alpha 通道
警告:就算图像的路径是错的,OpenCV 也不会提醒你的,但是当你使用命
令print img时得到的结果是None。
显示图像
使用函数cv2.imshow() 显示图像。窗口会自动调整为图像大小。第一
个参数是窗口的名字,其次才是我们的图像。你可以创建多个窗口,只要你喜
欢,但是必须给他们不同的名字
1 cv2.imshow('image',img)
2 cv2.waitKey(0)
3 cv2.destroyAllWindows()
cv2.waitKey() 是一个键盘绑定函数。需要指出的是它的时间尺度是毫
秒级。函数等待特定的几毫秒,看是否有键盘输入。特定的几毫秒之内,如果
按下任意键,这个函数会返回按键的ASCII 码值,程序将会继续运行。如果没
有键盘输入,返回值为-1,如果我们设置这个函数的参数为0,那它将会无限
期的等待键盘输入。它也可以被用来检测特定键是否被按下,例如按键a 是否
被按下,这个后面我们会接着讨论。
cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口。如果
你想删除特定的窗口可以使用cv2.destroyWindow(),在括号内输入你想删
除的窗口名。
建议:一种特殊的情况是, 你也可以先创建一个窗口, 之后
再加载图像。这种情况下, 你可以决定窗口是否可以调整
大小。使用到的函数是cv2.namedWindow()。初始设定函数
标签是cv2.WINDOW_AUTOSIZE。但是如果你把标签改成
cv2.WINDOW_NORMAL,你就可以调整窗口大小了。当图像维度太大,
或者要添加轨迹条时,调整窗口大小将会很有用
代码如下:
1 # -*- coding: utf-8 -*-
2 """
3 Created on Wed Jan 1 20:49:33 2014
4
5 @author: duan
6 """
7 import numpy as np
8 import cv2
9
10 cv2.namedWindow('image', cv2.WINDOW_NORMAL)
11 cv2.imshow('image',img)
12 cv2.waitKey(0)
13 cv2.destroyAllWindows()
保存图像
使用函数cv2.imwrite() 来保存一个图像。首先需要一个文件名,之后才
是你要保存的图像。
1 cv2.imwrite('messigray.png',img)