python_opencv应用系列1:图片读写

opencv的读写非常简单,主要用到的就是imread和imwrite两个函数

读取图片示例

import cv2
#imread(filename[, flags]) -> retval
imgPath = 'E:/test01.jpg' #图片路径
#默认读取的是RGB三色图,得到三维矩阵
img = cv2.imread(imgPath)
#等价于img = cv2.imread('test01.jpg',cv2.IMREAD_COLOR)
#查看图像维数(719,1280,3)
print(img.shape)
#如果选择以灰度模式读入图像,得到二维矩阵
img0 = cv2.imread(imgPath, 0)
#等价于img = cv2.imread('test01.jpg',cv2.IMREAD_GRAYSCALE)
#查看图像维数(719,1280)
print(img0.shape)

PS:使用imread读取图片时,如果图片路程错误,opencv不会报Error,图片矩阵img=None

写图片示例

import cv2
#imwrite(filename, img[, params]) -> retval
imgPath = 'E:/test01.jpg' #图片的写入路径
#图片写入
cv2.imwrite(filename, img)
#第三个参数针对特定的格式: 
imgPath = 'E:/test01.jpg'
cv2.imwrite(imgPath, img, [int(cv2.IMWRITE_JPEG_QUALITY),100])
#对于JPEG,其表示的是图像的质量。
#用0-100的整数表示,数值越高质量越高,默认为95。
imgPath = 'E:/test01.png'
cv2.imwrite(imgPath, img, [int(cv2.IMWRITE_PNG_COMPRESSION),9]) 
#对于PNG,第三个参数表示的是压缩级别。
#从0到9,压缩级别越高,图像尺寸越小,默认级别为3。
#注意,cv2.IMWRITE_JPEG_QUALITY和cv2.IMWRITE_PNG_COMPRESSION类型为Long,必须转换成int。

 参考链接:

http://blog.csdn.net/eddy_zheng/article/details/48286735

http://blog.csdn.net/sunny2038/article/details/9057415

原文地址:https://www.cnblogs.com/wangwp/p/6554450.html