溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發(fā)技術 > 
  • 使用Python+OpenCV圖像處理工具進行打印圖片屬性、設置存儲路徑、調(diào)用攝像頭

使用Python+OpenCV圖像處理工具進行打印圖片屬性、設置存儲路徑、調(diào)用攝像頭

發(fā)布時間:2020-10-26 16:26:54 來源:億速云 閱讀:143 作者:Leah 欄目:開發(fā)技術

使用Python+OpenCV圖像處理工具進行打印圖片屬性、設置存儲路徑、調(diào)用攝像頭?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

一. 打印圖片屬性、設置圖片存儲路徑

代碼如下:

#打印圖片的屬性、保存圖片位置
import cv2 as cv
import numpy as np   #numpy是一個開源的Python科學計算庫
def get_image_info(image):
  print(type(image))  #type() 函數(shù)如果只有第一個參數(shù)則返回對象的類型  在這里函數(shù)顯示圖片類型為 numpy類型的數(shù)組
  print(image.shape)
  #圖像矩陣的shape屬性表示圖像的大小,shape會返回tuple元組,
  # 第一個元素表示矩陣行數(shù),第二個元組表示矩陣列數(shù),第三個元素是3,表示像素值由光的三原色組成
  print(image.size) #返回圖像的大小,size的具體值為shape三個元素的乘積
  print(image.dtype) #數(shù)組元素的類型通過dtype屬性獲得
  pixel_data=np.array(image)
  print(pixel_data) # 打印圖片矩陣   N維數(shù)組對象即矩陣對象
src=cv.imread('E:\imageload\example.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)  #使圖片顏色變?yōu)榛叶?
# cv.imwrite("E:/example.png",gray)
cv.waitKey(0)
cv.destroyAllWindows()

二.電腦攝像頭的調(diào)取和顯示

代碼如下:

#電腦攝像頭的調(diào)取和顯示
import cv2 as cv
def video_demo():
  capture=cv.VideoCapture(0)
  #參數(shù)為視頻設備的id ,如果只有一個攝像頭可以填0,表示打開默認的攝像頭   這里的參數(shù)也可以是視頻文件名路徑,只要把視頻文件的具體路徑寫進去就好
  while True: #只要沒跳出循環(huán),則會循環(huán)播放每一幀 ,waitKey(10)表示間隔10ms
    ret, frame = capture.read()
    #read函數(shù)讀取視頻(攝像頭)的某幀,它能返回兩個參數(shù). 第一個參數(shù)是bool型的ret,其值為True或False,代表有沒有讀到圖片. 第二個參數(shù)是frame,是當前截取一幀的圖片
    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),等價于旋轉(zhuǎn)180°
    cv.imshow("video",frame)
    pc=cv.waitKey(10)  #超過10ms, waitKey函數(shù)會返回-1,如果10ms內(nèi)在鍵盤按了某個按鍵,則 waitKey函數(shù)會返回對應按鍵的ASCII碼值,ASCII碼值一定大于0
    if pc>0:
      break
    # if cv.waitKey(10) == ord('z'): # 鍵盤輸入z退出窗口,不按z點擊關閉會一直關不掉 也可以設置成其他鍵。 ord()函數(shù)返回對應字符的ASCII數(shù)值
    #   break
video_demo()
cv.destroyAllWindows()

看完上述內(nèi)容,你們掌握使用Python+OpenCV圖像處理工具進行打印圖片屬性、設置存儲路徑、調(diào)用攝像頭的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI