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