? ? ? ? ? ? ? ?上一篇我們已經學了如何讀取圖片的功能了以及和opencv的環境搭建了,今天接著來學習,哈哈哈,今天剛好五一,也沒閑著,繼續學習。
? ? ? ? ? ? ?1、 首先我們來實現打印出圖片的一些屬性功能, 先來看一段代碼:
1 import cv2 as cv 2 import numpy as np 3 4 5 def get_image_info(image): #定義一個函數來輸出圖片的屬性 6 print(type(image)) #顯示圖片類型numpy類型的數組 7 print(image.shape) #圖像矩陣的shape 屬性表示圖像的大小,shape會返回tuple元組,第一個元素表示矩陣的行數,第二個元素表示矩陣的列數,第三個元素是3,表示像素由光的三原色組成 8 print(image.size) #表示圖像的大小(下面顯示2587200是等于800*1078*3) 9 print(image.dtype) #表示圖像類型 10 11 src=cv.imread("D:\hh.JPG") 12 cv.namedWindow('input image',0) 13 cv.imshow('input image',src) 14 get_image_info(src) 15 cv.waitKey(-1) 16 cv.destoryAllWindows()
? ? ? ? ?說明:上面我們用到了numpy這個庫(這是opencv綁定時所依賴的庫,它提供了數值計算函數,包括高效的矩陣計算函數,詳細了解可以訪問,www.numpy.org),上面代碼中暫時沒到這個numpy功能,不過馬上就會用到了,哈哈。最后我們來看一下效果:
? ? ? ? ? ?2、接下來我們來實現另存圖片功能,(也就是我剛才上面顯示出來的照片,我存放的路徑是在D盤里面,代碼src=cv.imread("D:\hh.JPG"有注明),:
? ?
? ? ?現在我要把它存儲到E盤下面了,哈哈;
? ? 接下來就是見證奇跡的時候了,話不多說,代碼上來:
? ? ? ?
1 import cv2 as cv 2 import numpy as np 3 4 5 def get_image_info(image): #定義一個函數來輸出圖片的屬性 6 print(type(image)) #顯示圖片類型numpy類型的數組 7 print(image.shape) #圖像矩陣的shape 屬性表示圖像的大小,shape會返回tuple元組,第一個元素表示矩陣的行數,第二個元素表示矩陣的列數,第三個元素是3,表示像素由光的三原色組成 8 print(image.size) #表示圖像的大小(下面顯示2587200是等于800*1078*3) 9 print(image.dtype) #表示圖像類型 10 pixel_data=np.array(image); 11 print(pixel_data) #圖片矩陣 12 13 14 15 src = cv.imread("D:\hh.JPG") 16 17 cv.namedWindow('input image', cv.WINDOW_NORMAL) 18 cv.imshow('input image',src) 19 get_image_info(src) 20 gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY)#獲取圖片為灰色的 21 cv.imwrite("E:\hh.JPG",gray) #把DD盤下的圖片另存為E盤下了,并且還是灰色的 22 cv.waitKey(0) 23 cv.destoryAllWindows()
?
? 來看一下效果:
? ?
?
? ? ?這就是今天學到的東西了,后期還會持續更新的,哈哈哈。
?