Opencv for Python 學習筆記 1.2 影象儲存
阿新 • • 發佈:2019-02-08
本節主要學習 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()
函式所儲存的圖片,如圖三所示:
各個圖片資訊如下所示: