python如何读入、显示、保存图像
使用
<br />
opencv<br />
读入、显示、保存图像。示例代码是加载一张原图,显示图片,键盘按下“s”则保存图片,按下其他键则销毁图像显示窗口。
学会三个函数的使用:
<br />
cv2.imread<br />
、
<br />
cv2.imshow<br />
、
<br />
cv2.imwrite<br />
。
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')
读入图像
<br />
img = cv2.imread('D:/img/test/000.jpg')<br />
打开原图。
<br />
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_GRAYSCALE)<br />
以灰度模式读入图像。
<br />
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_COLOR)<br />
读入彩色图像,图像的透明度会忽略。
<br />
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_UNCHANGED)<br />
读入原图。
读入图像的返回值
print type(img)结果为
<br />
<type 'numpy.ndarray'><br />
,可见是个多维数组。
opencv不会提示你图片的路径是否错误。如果 print img 的结果为 None,则说明图片路径错误。如果结果是矩阵数组,则路径正确。
显示图像
<br />
cv2.imshow('image', img)<br />
在窗口显示图像,图像的名字是image,img参数是我要显示的图像,可以同时打开多个图像显示窗口,但他们的名字必须是不同的。
这个时候的图像大小默认是原始图像的大小,若想窗口大小可调节,使用
<br />
cv2.namedWindow()<br />
即可。
<br />
cv2.namedWindow('image', cv2.WINDOW_NORMAL)<br />
image窗口的大小可以调节。
<br />
cv2.namedWindow('image', cv2.WINDOW_AUTOSIZE)<br />
默认的窗口大小,若第二个参数不填写,默认的就是图像大小且不可调节。
键盘绑定函数cv2.waitKey(0),将参数设置为0,表示等待键盘输入。如果是其他值,则表示在该值的毫秒内等待键盘输入。如果没有输入,则返回-1,如果有回车,则返回输入键的ASCII值。
保存图像
<br />
cv2.imwrite('D:/img/test/0002.jpg', img)<br />
第一个参数是保存的图像的路径,第二个参数是要保存的图像。
删除已建立的窗口
<br />
cv2.destroyAllWindows()<br />
销毁所有窗口。
<br />
cv2.destroyWindow('image')<br />
销毁特定窗口,参数是你要销毁的窗口名称。
其他
<br />
ord()<br />
和
<br />
chr()<br />
函数:
ord()函数的参数是一个ASCII字符,返回值是对应的十进制整数,也就是ASCII值。
chr()函数的参数是0到256之间的整数,返回值是当前整数对应的ASCII字符。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python 零基础容易学吗?08/28
- ♥ 如何在 Python 中安装 xlutils09/15
- ♥ python有多少种运行方式?如何实现?11/14
- ♥ 如何理解 Python 的作用域?11/18
- ♥ python对象如何继承11/05
- ♥ 如何在python循环结构中使用else01/04
内容反馈