python如何利用cv2模組讀取顯示儲存圖片
轉載地址:https://www.jb51.net/article/214120.htm
1. 讀取圖片
使用函式cv2.imread(filepath,flags)讀入一副圖片
filepath:要讀入圖片的完整路徑
flags:讀入圖片的標誌
cv2.IMREAD_COLOR:預設引數,讀入一副彩色圖片,忽略alpha通道
cv2.IMREAD_GRAYSCALE:讀入灰度圖片
cv2.IMREAD_UNCHANGED:顧名思義,讀入完整圖片,包括alpha通道
import numpy as npimport cv2img = cv2.imread(‘1.jpg',cv2.IMREAD_GRAYSCALE)
2. 顯示圖片
1 2 3 4 |
cv2.imshow(wname,img)
cv2.waitKey( 0 )
cv2.destroyAllWindows()
cv2.destroyWindow(wname)
|
使用函式cv2.imshow(wname,img)顯示影象,第一個引數是顯示影象的視窗的名字,第二個引數是要顯示的影象(imread讀入的影象),視窗大小自動調整為圖片大小
cv2.waitKey顧名思義等待鍵盤輸入,單位為毫秒,即等待指定的毫秒數看是否有鍵盤輸入,若在等待時間內按下任意鍵則返回按鍵的ASCII碼,程式繼續執行。若沒有按下任何鍵,超時後返回-1。引數為0表示無限等待。不呼叫waitKey的話,視窗會一閃而逝,看不到顯示的圖片
cv2.destroyAllWindow()銷燬所有視窗
cv2.destroyWindow(wname)銷燬指定視窗wname
儲存圖片
1 |
cv2.imwrite(filepahe, img, flag)
|
第一個引數filepath是要儲存的檔案路徑及檔名,例如
1 |
filepath = ' "D\\TooBox\\0.jpg"
|
第二個引數是要儲存的影象。可選的第三個引數,它針對特定的格式:對於JPEG,其表示的是影象的質量,用0 - 100的整數表示,預設95;對於png ,第三個引數表示的是壓縮級別。預設為3.
注意:cv2.IMWRITE_JPEG_QUALITY型別為 long ,必須轉換成 int
cv2.IMWRITE_PNG_COMPRESSION, 從0到9 壓縮級別越高影象越小。
1 2 |
cv2.imwrite( '1.png' , img, [ int (cv2.IMWRITE_JPEG_QUALITY), 95 ])
cv2.imwrite( '1.png' ,img,[ int (cv2.IMWRITE_PNG_COMPRESSION), 9 ])
|
圖片操作
圖片翻轉
使用函式cv2.flip(img,flipcode)翻轉影象,flipcode控制翻轉效果
flipcode = 0:沿x軸翻轉
flipcode > 0:沿y軸翻轉
flipcode < 0:x,y軸同時翻轉
1 |
imgflip = cv2.flip(img, 1 )
|
圖片複製
1 |
imgcopy = img.copy()
|
顏色空間轉換
RGB彩色圖片轉為灰度圖片
1 |
img2 = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
|
灰度圖片轉為RGB彩色圖片
1 |
img3 = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB)
|
總結
到此這篇關於python利用cv2讀取顯示儲存圖片的文章就介紹到這了,更多相關python cv2讀取圖片內容請搜尋指令碼之家以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援指令碼之家!