Python+OpenCV圖像處理——打印圖片屬性、設置存儲路徑、調用攝像頭
一. 打印圖片屬性、設置圖片存儲路徑
代碼如下:
#打印圖片的屬性、保存圖片位置import cv2 as cvimport numpy as np #numpy是一個開源的Python科學計算庫def get_image_info(image): print(type(image)) #type() 函數如果只有第一個參數則返回對象的類型 在這里函數顯示圖片類型為 numpy類型的數組 print(image.shape) #圖像矩陣的shape屬性表示圖像的大小,shape會返回tuple元組, # 第一個元素表示矩陣行數,第二個元組表示矩陣列數,第三個元素是3,表示像素值由光的三原色組成 print(image.size) #返回圖像的大小,size的具體值為shape三個元素的乘積 print(image.dtype) #數組元素的類型通過dtype屬性獲得 pixel_data=np.array(image) print(pixel_data) # 打印圖片矩陣 N維數組對象即矩陣對象src=cv.imread(’E:imageloadexample.png’)cv.namedWindow(’input_image’, cv.WINDOW_AUTOSIZE)cv.imshow(’input_image’, src)get_image_info(src)cv.imwrite('E:/example.png',src) #圖片存儲路徑# gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY) #使圖片顏色變為灰度# cv.imwrite('E:/example.png',gray)cv.waitKey(0)cv.destroyAllWindows()
二.電腦攝像頭的調取和顯示
代碼如下:
#電腦攝像頭的調取和顯示import cv2 as cvdef video_demo(): capture=cv.VideoCapture(0) #參數為視頻設備的id ,如果只有一個攝像頭可以填0,表示打開默認的攝像頭 這里的參數也可以是視頻文件名路徑,只要把視頻文件的具體路徑寫進去就好 while True: #只要沒跳出循環,則會循環播放每一幀 ,waitKey(10)表示間隔10ms ret, frame = capture.read() #read函數讀取視頻(攝像頭)的某幀,它能返回兩個參數. 第一個參數是bool型的ret,其值為True或False,代表有沒有讀到圖片. 第二個參數是frame,是當前截取一幀的圖片 frame=cv.flip(frame,1) #翻轉 0:沿X軸翻轉(垂直翻轉) 大于0:沿Y軸翻轉(水平翻轉) 小于0:先沿X軸翻轉,再沿Y軸翻轉,等價于旋轉180° cv.imshow('video',frame) pc=cv.waitKey(10) #超過10ms, waitKey函數會返回-1,如果10ms內在鍵盤按了某個按鍵,則 waitKey函數會返回對應按鍵的ASCII碼值,ASCII碼值一定大于0 if pc>0: break # if cv.waitKey(10) == ord(’z’): # 鍵盤輸入z退出窗口,不按z點擊關閉會一直關不掉 也可以設置成其他鍵。 ord()函數返回對應字符的ASCII數值 # breakvideo_demo()cv.destroyAllWindows()
以上就是Python+OpenCV圖像處理——打印圖片屬性、設置存儲路徑、調用攝像頭的詳細內容,更多關于Python+OpenCV圖像處理的資料請關注好吧啦網其它相關文章!
相關文章: