影象的載入與儲存
阿新 • • 發佈:2021-08-11
匯入所需要的庫
import cv2 as cv
import numpy as np
as cv就是cv2,為啥這麼寫,我也不知,很多人都是這樣簡寫的
輸出圖片屬性
type(image)顯示圖片型別numpy型別的陣列
image.shapeshape會返回tuple元組,第一個元素表示矩陣行數,第二個矩陣表示矩陣列數,第3個元素是3,表示畫素值由光的三原色組成
image.size影象大小
image.dtype影象型別
np.array(image)返回一個物件,可賦值給變數;作用是將圖片轉化為矩陣
def get_image_info(image): # 定義一個函式來輸出圖片的一些屬性 print("顯示圖片型別numpy型別的陣列",type(image)) # 影象矩陣的shape屬性表示影象的大小 # shape會返回tuple元組,第一個元素表示矩陣行數 # 第二個矩陣表示矩陣列數,第3個元素是3,表示畫素值由光的三原色組成 print("shape會返回tuple元組",image.shape) print("影象大小",image.size) # 影象大小 print("image.dtype影象型別",image.dtype) # 影象型別 pixel_data = np.array(image) # 將圖片轉化為矩陣 print("將圖片轉化為矩陣np.array",pixel_data) # 圖片矩陣
讀取圖片
cv.imread()函式讀取圖片,並返回一個物件,可賦值給變數;
src = cv.imread("pic/bizhi.jpg") # imread讀取
建立視窗,用來顯示圖片
cv.WINDOW_NORMAL(不知作用) | namedWindow
cv.namedWindow('input_image',cv.WINDOW_NORMAL)
在指定視窗展示圖片
cv.imshow("input_image",src)
圖片另存為;存到C盤要許可權
cv.imwrite("D://2.png",src) # 2個引數,路徑和原來圖片名變數
視窗顯示時間,一般為0,一直顯示,按鍵則不為0,退出(個人理解)
cv.waitKey(0)
刪除建立的全部視窗,釋放資源
cv.destroyAllWindows()
完整程式碼
努力拼搏吧,不要害怕,不要去規劃,不要迷茫。但你一定要在路上一直的走下去,儘管可能停滯不前,但也要走。import cv2 as cv import numpy as np # 輸出圖片屬性 def get_image_info(image): # 定義一個函式來輸出圖片的一些屬性 print("顯示圖片型別numpy型別的陣列",type(image)) # 影象矩陣的shape屬性表示影象的大小 # shape會返回tuple元組,第一個元素表示矩陣行數 # 第二個矩陣表示矩陣列數,第3個元素是3,表示畫素值由光的三原色組成 print("shape會返回tuple元組",image.shape) print("影象大小",image.size) # 影象大小 print("image.dtype影象型別",image.dtype) # 影象型別 pixel_data = np.array(image) # 將圖片轉化為矩陣 print("將圖片轉化為矩陣np.array",pixel_data) # 圖片矩陣 # 主函式 C++風格 if __name__ == "__main__": # 讀取圖片 src = cv.imread("pic/bizhi.jpg") # imread讀取 # 建立視窗,用來顯示圖片 # cv.WINDOW_NORMAL | namedWindow cv.namedWindow('input_image',cv.WINDOW_NORMAL) # 在指定視窗展示圖片 cv.imshow("input_image",src) # 呼叫函式,輸出圖片屬性 get_image_info(src) # 圖片另存為;存到C盤要許可權 cv.imwrite("D://2.png",src) # 2個引數,路徑和原來圖片名變數 # 視窗顯示時間,單位:毫秒 k=0: (也可以是小於0的數值) # 一直顯示,鍵盤上按下一個數字鍵即會消 k>0:顯示多少毫秒 cv.waitKey(0) # 刪除建立的全部視窗,釋放資源 cv.destroyAllWindows()