Python+OpenCV圖像處理——打印圖片屬性、設(shè)置存儲(chǔ)路徑、調(diào)用攝像頭
一. 打印圖片屬性、設(shè)置圖片存儲(chǔ)路徑
代碼如下:
#打印圖片的屬性、保存圖片位置import cv2 as cvimport numpy as np #numpy是一個(gè)開源的Python科學(xué)計(jì)算庫def get_image_info(image): print(type(image)) #type() 函數(shù)如果只有第一個(gè)參數(shù)則返回對(duì)象的類型 在這里函數(shù)顯示圖片類型為 numpy類型的數(shù)組 print(image.shape) #圖像矩陣的shape屬性表示圖像的大小,shape會(huì)返回tuple元組, # 第一個(gè)元素表示矩陣行數(shù),第二個(gè)元組表示矩陣列數(shù),第三個(gè)元素是3,表示像素值由光的三原色組成 print(image.size) #返回圖像的大小,size的具體值為shape三個(gè)元素的乘積 print(image.dtype) #數(shù)組元素的類型通過dtype屬性獲得 pixel_data=np.array(image) print(pixel_data) # 打印圖片矩陣 N維數(shù)組對(duì)象即矩陣對(duì)象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) #圖片存儲(chǔ)路徑# gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY) #使圖片顏色變?yōu)榛叶? cv.imwrite('E:/example.png',gray)cv.waitKey(0)cv.destroyAllWindows()
二.電腦攝像頭的調(diào)取和顯示
代碼如下:
#電腦攝像頭的調(diào)取和顯示import cv2 as cvdef video_demo(): capture=cv.VideoCapture(0) #參數(shù)為視頻設(shè)備的id ,如果只有一個(gè)攝像頭可以填0,表示打開默認(rèn)的攝像頭 這里的參數(shù)也可以是視頻文件名路徑,只要把視頻文件的具體路徑寫進(jìn)去就好 while True: #只要沒跳出循環(huán),則會(huì)循環(huán)播放每一幀 ,waitKey(10)表示間隔10ms ret, frame = capture.read() #read函數(shù)讀取視頻(攝像頭)的某幀,它能返回兩個(gè)參數(shù). 第一個(gè)參數(shù)是bool型的ret,其值為True或False,代表有沒有讀到圖片. 第二個(gè)參數(shù)是frame,是當(dāng)前截取一幀的圖片 frame=cv.flip(frame,1) #翻轉(zhuǎn) 0:沿X軸翻轉(zhuǎn)(垂直翻轉(zhuǎn)) 大于0:沿Y軸翻轉(zhuǎn)(水平翻轉(zhuǎn)) 小于0:先沿X軸翻轉(zhuǎn),再沿Y軸翻轉(zhuǎn),等價(jià)于旋轉(zhuǎn)180° cv.imshow('video',frame) pc=cv.waitKey(10) #超過10ms, waitKey函數(shù)會(huì)返回-1,如果10ms內(nèi)在鍵盤按了某個(gè)按鍵,則 waitKey函數(shù)會(huì)返回對(duì)應(yīng)按鍵的ASCII碼值,ASCII碼值一定大于0 if pc>0: break # if cv.waitKey(10) == ord(’z’): # 鍵盤輸入z退出窗口,不按z點(diǎn)擊關(guān)閉會(huì)一直關(guān)不掉 也可以設(shè)置成其他鍵。 ord()函數(shù)返回對(duì)應(yīng)字符的ASCII數(shù)值 # breakvideo_demo()cv.destroyAllWindows()
以上就是Python+OpenCV圖像處理——打印圖片屬性、設(shè)置存儲(chǔ)路徑、調(diào)用攝像頭的詳細(xì)內(nèi)容,更多關(guān)于Python+OpenCV圖像處理的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. PHP設(shè)計(jì)模式中工廠模式深入詳解2. asp中response.write("中文")或者js中文亂碼問題3. jsp網(wǎng)頁實(shí)現(xiàn)貪吃蛇小游戲4. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向5. CSS hack用法案例詳解6. .Net Core和RabbitMQ限制循環(huán)消費(fèi)的方法7. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明8. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法9. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息10. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)
