1. 程式人生 > >Opencv for Python 學習筆記 1.2 影象儲存

Opencv for Python 學習筆記 1.2 影象儲存

本節主要學習 Opencv 基本影象處理的影象儲存函式 cv2.imwrite()
程式碼如下:

#coding:utf-8
import cv2
import numpy as np

img = cv2.imread("images/02.jpg",0)

cv2.imshow("image",img)

"""
函式名:cv2.waitKey()
功  能:鍵盤繫結函式,在特定時間內檢測是否有鍵盤按下,返回按鍵的 ASCII 值,無按鍵,返回 -1
       64位系統需要與 0xFF 按位與操作
引數一:等待的延時時間,毫秒級,值為 0 時無限期等待
"""
k = cv2.waitKey(0
) & 0xFF if k == 27 : cv2.destroyAllWindows() elif k == ord('s') : """ 函式名:cv2.imwrite( P1 , P2 , P3 ) 功 能:影象儲存函式 引數一:影象儲存的路徑、名稱 引數二:儲存的影象 引數三:可不填寫,設定影象壓縮,即影象的儲存精度 如果儲存為 JPG 格式,則為 CV_IMWRITE_JPEG_QUALITY ,本身為 LONG 型,使用時應轉化為 int 型別 如果儲存為 PNG 格式,則為 CV_IMWRITE_PNG_COMPRESSION ,本身為 LONG 型,使用時應轉化為 int 型別 如果儲存為 PPM、PGM、PBM,則為 CV_IMWRITE_PXM_BINARY , 若引數三為 CV_IMWRITE_JPEG_QUALITY ,則範圍為 0-100 ,預設值為 95 若引數三為 CV_IMWRITE_PNG_COMPRESSION , 則範圍為 0-9 , 預設值為 3 若引數三為 CV_IMWRITE_PXM_BINARY ,則取值為 0 或 1 ,預設值為 1 """
cv2.imwrite("images/02_gray.jpg" , img ) cv2.imwrite("images/02_jpg1.jpg" , img , [int(cv2.IMWRITE_JPEG_QUALITY) , 100] ) cv2.imwrite("images/02_jpg2.jpg" , img , [int(cv2.IMWRITE_JPEG_QUALITY) , 30] ) cv2.imwrite("images/02_png1.png" , img , [int(cv2.IMWRITE_PNG_COMPRESSION) , 9]) cv2.imwrite("images/02_png2.png"
, img , [int(cv2.IMWRITE_PNG_COMPRESSION) ]) cv2.destroyAllWindows()

程式碼執行前,images 資料夾下的圖片如圖一所示:
圖一
程式碼執行後,影象顯示如圖二所示:
圖二
按下按鍵 esc 後,退出影象顯示視窗,images資料夾下檔案未產生變化。
再次執行程式碼,按下按鍵 s,退出影象顯示視窗,images資料夾下多出幾張圖片,正是之前使用 cv2.imwrite() 函式所儲存的圖片,如圖三所示:
圖三

各個圖片資訊如下所示:

這裡寫圖片描述