日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python實現從本地攝像頭和網絡攝像頭截取圖片功能

系統 2030 0

python-----從本地攝像頭和網絡攝像頭截取圖片 ,具體代碼如下所示:

            
import cv2
# 獲取本地攝像頭
# folder_path 截取圖片的存儲目錄
def get_img_from_camera_local(folder_path):
  cap = cv2.VideoCapture(0)
  i = 1
  while True:
    ret, frame = cap.read()
    cv2.imshow("capture", frame)
    print str(i)
    cv2.imwrite(folder_path + str(i) + '.jpg', frame) # 存儲為圖像
    if cv2.waitKey(1) & 0xFF == ord('q'):
      break
    i += 1
  cap.release()
  cv2.destroyAllWindows()
# 獲取網絡攝像頭,格式:rtsp://username:pwd@ip/
# folder_path 截取圖片的存儲目錄
def get_img_from_camera_net(folder_path):
  cap = cv2.VideoCapture('rtsp://username:pwd@ip/')
  i = 1
  while True:
    ret, frame = cap.read()
    cv2.imshow("capture", frame)
    print str(i)
    cv2.imwrite(folder_path + str(i) + '.jpg', frame) # 存儲為圖像
    if cv2.waitKey(1) & 0xFF == ord('q'):
      break
    i += 1
  cap.release()
  cv2.destroyAllWindows()
# 測試
if __name__ == '__main__':
  folder_path = 'D:\\img_from_camera\\'
  get_img_from_camera_local(folder_path)
          

PS:下面看下用 python , opencv 打開網絡攝像頭讀取圖像

打開網絡攝像頭用如下代碼:

            
###########################################
import cv2
 url = 'rtsp://admin:password@192.168.1.104:554/11'
 cap = cv2.VideoCapture(url)
 while(cap.isOpened()): 
   # Capture frame-by-frame 
   ret, frame = cap.read() 
   # Display the resulting frame 
   cv2.imshow('frame',frame) 
   if cv2.waitKey(1) & 0xFF == ord('q'): 
     break 
 # When everything done, release the capture 
 cap.release() 
 cv2.destroyAllWindows()
 ############################################
          

注: 將從攝像頭獲取的圖像從bgr轉為rgb : image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

1、cap = cv2.VideoCapture(0)

VideoCapture()中參數是0,表示打開筆記本的內置攝像頭,參數是1,表示打開usb攝像頭,

參數是視頻文件路徑則打開視頻,如cap = cv2.VideoCapture("../test.avi")

2、ret,frame = cap.read()

?cap.read()按幀讀取視頻,ret,frame是獲cap.read()方法的兩個返回值。其中ret是布爾值,如果讀取幀是正確的則返回True,如果文件讀取到結尾,它的返回值就為False。frame就是每一幀的圖像,是個三維矩陣。

3、cv2.waitKey(1),waitKey()方法本身表示等待鍵盤輸入,

參數是1,表示延時1ms切換到下一幀圖像,對于視頻而言;

參數為0,如cv2.waitKey(0)只顯示當前幀圖像,相當于視頻暫停,;

參數過大如cv2.waitKey(1000),會因為延時過久而卡頓感覺到卡頓。

c得到的是鍵盤輸入的ASCII碼,esc鍵對應的ASCII碼是27,即當按esc鍵是if條件句成立

4、調用release()釋放攝像頭,調用destroyAllWindows()關閉所有圖像窗口。

總結

以上所述是小編給大家介紹的python實現從本地攝像頭和網絡攝像頭截取圖片功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 定安县| 兴海县| 南澳县| 邹城市| 二手房| 大港区| 阿拉善右旗| 德安县| 东乌| 都江堰市| 澄迈县| 外汇| 潜江市| 阿城市| 吐鲁番市| 彭泽县| 略阳县| 闸北区| 衡山县| 华阴市| 宁化县| 开封县| 安康市| 斗六市| 杭锦后旗| 青浦区| 景东| 大同市| 五台县| 阜城县| 怀来县| 玛纳斯县| 盘锦市| 酒泉市| 石屏县| 五莲县| 怀仁县| 永德县| 乌拉特中旗| 邛崃市| 太仆寺旗|