读取图像
retval = cv2.imread(filename, flages)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| from matplotlib.pyplot import imshow, show, xticks, yticks def show_cv2_img(img): img_shape = img.shape if len(img_shape)==3: img = img[:,:,::-1] imshow(img) xticks([]) yticks([]) show() else: imshow(img) xticks([]) yticks([]) show()
|
1 2 3
| pic = 'data/dog.jpg' img = cv2.imread(pic) print(img)
|
[[[ 54 52 74]
[ 55 53 75]
[ 56 54 76]
...
[ 61 59 81]
[ 61 59 81]
[ 60 58 80]]
[[ 54 52 74]
[ 55 53 75]
[ 56 54 76]
...
[ 62 60 82]
[ 62 60 82]
[ 62 60 82]]
[[ 55 53 75]
[ 56 54 76]
[ 57 55 77]
...
[ 63 61 83]
[ 63 61 83]
[ 64 62 84]]
...
[[138 184 208]
[137 183 207]
[137 183 207]
...
[140 187 215]
[138 185 213]
[137 184 212]]
[[140 186 210]
[139 185 209]
[139 185 209]
...
[141 188 216]
[139 186 214]
[138 185 213]]
[[140 186 210]
[139 185 209]
[139 185 209]
...
[142 189 217]
[140 187 215]
[139 186 214]]]
显示图像
namedWindow()函数
- None = cv2.namedWindow(winname)
- 式中:
- winname:窗口名称
1
| cv2.namedWindow('lesson')
|
imshow()函数
- None=cv2.imshow(winname, mat)
- 式中:
- winname:窗口名称
- mat:要显示的图像
1 2 3
| cv2.imshow('dog', img) cv2.waitKey(0) cv2.destroyAllWindows()
|
waitkey()函数
- retval=cv2.waitKey([delay])
- 式中:
- retval表示返回值。如果没有按键被按下,则返回-1;如果有按键被按下,则返回该按键的ASCII码
- delay表示等待键盘触发的时间,单位是ms。当该值是负数或者零时,表示无线等待。默认为0
- 如果参数delay的值为一个正数,则在这段时间内,程序等待按下键盘按键。当有按下键盘按键的事件发生时,就继续执行后续程序语句;如果在delay参数所指定的时间内一直没有这样的事件发生,则超过等待时间后继续执行后续的程序语句
1 2 3 4 5 6 7
| cv2.imshow('PressA', img) key = cv2.waitKey() cv2.destroyAllWindows() if key==ord('A'): print('PressA') elif key==ord('B'): print('PressB')
|
PressA
1 2 3 4 5
| cv2.imshow('PressA', img) key = cv2.waitKey(2000) cv2.destroyAllWindows() if key != -1: print('触发了按键')
|
触发了按键
destoryWindow()函数
- None=cv2.destoryWindow(winname)
- 其中:
- winname:窗口名称,在实际使用中通常与cv2.waitKey()组合实现窗口的释放
1 2 3
| cv2.imshow('dog', img) key = cv2.waitKey() cv2.destroyWindow('dog')
|
destoryALLWindows()函数
- None=cv2.destoryALLWindows() 释放所有的窗口
1 2 3
| cv2.imshow('img', img) cv2.waitKey() cv2.destroyAllWindows()
|
保存图像
imwrite()函数
- retval=cv2.imwrite(filname, img[,params])
- 式中:
- retval:返回值。如果保存成功返回True;保存失败返回False
- filename:保存的目标文件的完整路径名,包含文件扩展名
- img:被保存图像的名称
- parms:保存类型参数,是可选的。
1
| cv2.imwrite('tmp/tmp.jpg', img)
|
True