1. 程式人生 > 其它 >影象的載入與儲存

影象的載入與儲存

匯入所需要的庫

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()

努力拼搏吧,不要害怕,不要去規劃,不要迷茫。但你一定要在路上一直的走下去,儘管可能停滯不前,但也要走。