Python與機器視覺(三)影象儲存
阿新 • • 發佈:2018-12-13
本系列部落格主要分享Python在機器視覺/計算機視覺下的程式設計應用 cv2包是著名的視覺庫OpenCV的Python實現
在對圖片進行一定的操作後,我們需要將影象儲存在對應的位置,cv2提供了imwrite()
函式來將影象寫入到計算機中:
import cv2 #匯入opencv
import matplotlib.pyplot as plt #匯入繪圖包
img = cv2.imread('./img.jpeg') #讀入影象
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #將影象從opencv的brg通道轉為matplotlib的rgb模式
plt.title('Img windows')
plt.imshow(img_rgb) #繪圖函式imshow()
plt.xticks([]) #關閉 x,y軸的座標
plt.yticks([])
plt.show() #顯示影象
#-------------------------儲存影象--------------------------#
cv2.imwrite('./new_img.jpg',img) #利用cv2.imwrite()儲存影象
plt.imsave('./new_img_rgb.png',img_rgb) #對於校正通道後的影象,需要利用plt.imsave()儲存
這裡需要注意一下幾點:
1.imwrite()
函式儲存成功後會返回True
,它支援jpeg,png,tiff
等格式。其第一個引數為希望儲存的路徑及檔名,第二個引數為儲存影象的變數,彩色影象時,其需要BGR的通道順序。
2.如果希望儲存進行通道變換後的影象RGB
順序,那麼可以利用matplotlib的pyplot工具中imsave()
函式來實現,其主要支援png, pdf, ps, eps and svg
等格式。
執行後讀入的影象將被儲存在當前目錄下:
注意:如果通道儲存錯了的話(matplotlib為RGB,opencv為BGR
),會出現下面紅藍相反的藍瘦效果: