-
目标
- 使用opencv读入、显示、保存图像。示例代码是加载一张原图,显示图片,键盘按下“s”则保存图片,按下其他键则销毁图像显示窗口。
- 学会三个函数的使用:
cv2.imread
、cv2.imshow
、cv2.imwrite
。
-
示例代码
python
# -*- coding:utf-8 -*-
import numpy as np
import cv2
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_UNCHANGED)
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image', img)
key = cv2.waitKey(0)
if key == ord('s'):
cv2.imwrite('D:/img/test/0005.jpg', img)
else:
cv2.destroyWindow('image')
-
读入图像
-
img = cv2.imread('D:/img/test/000.jpg')
打开原图。 -
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_GRAYSCALE)
以灰度模式读入图像。 -
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_COLOR)
读入彩色图像,图像的透明度会忽略。 -
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_UNCHANGED)
读入原图。
-
读入图像的返回值
-
print type(img)
结果为<type 'numpy.ndarray'>
,可见是个多维数组。 - opencv不会提示你图片的路径是否错误,若
print img
结果为None,则表明图像路径是错的。若结果是一个矩阵数组,则表明路径正确。
-
显示图像
-
cv2.imshow('image', img)
在窗口显示图像,图像的名字是image
,img
参数是我要显示的图像,可以同时打开多个图像显示窗口,但他们的名字必须是不同的。
这个时候的图像大小默认是原始图像的大小,若想窗口大小可调节,使用cv2.namedWindow()
即可。 -
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
image窗口的大小可以调节。 -
cv2.namedWindow('image', cv2.WINDOW_AUTOSIZE)
默认的窗口大小,若第二个参数不填写,默认的就是图像大小且不可调节。 - 键盘绑定函数,
cv2.waitKey(0)
,设置参数是0,表示无限期等待键盘输入,若为其他值,表示在该值得毫秒时间内等待键盘输入,若没有输入,则返回-1,若有输入,则返回输入键的ASCII值。
-
保存图像
-
cv2.imwrite('D:/img/test/0002.jpg', img)
第一个参数是保存的图像的路径,第二个参数是要保存的图像。
-
删除已建立的窗口
-
cv2.destroyAllWindows()
销毁所有窗口。 -
cv2.destroyWindow('image')
销毁特定窗口,参数是你要销毁的窗口名称。
-
其他
ord()
和chr()
函数:
ord()函数的参数是一个ASCII字符,返回值是对应的十进制整数,也就是ASCII的值。
chr()函数的参数是0 - 256 的一个整数,返回值是当前整数对应的ASCII字符。
网上找到的opencv中文文档,此文是根据学习文档过程中做的笔记,只做个人学习之用,也可为其他学习者作参考。爱分享的人都是好孩子!