1. 程式人生 > >Python與機器視覺(三)影象儲存

Python與機器視覺(三)影象儲存

本系列部落格主要分享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),會出現下面紅藍相反的藍瘦效果: 在這裡插入圖片描述