国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python基于opencv調用攝像頭獲取個人圖片的實現方法

2020-02-16 01:17:07
字體:
來源:轉載
供稿:網友

接觸圖像領域的應該對于opencv都不會感到陌生,這個應該算是功能十分強勁的一個算法庫了,當然了,使用起來也是很方便的,之前使用Windows7的時候出現多該庫難以安裝成功的情況,現在這個問題就不存在了,需要安裝包的話可以去我的資源中下載使用,使用pip安裝方式十分地便捷。

今天主要是基于opencv模塊來調用筆記本的內置攝像頭,然后從視頻流中獲取到人臉的圖像數據用于之后的人臉識別項目,也就是為了構建可用的數據集。整個實現過程并不復雜,具體如下:

#!usr/bin/env python#encoding:utf-8'''__Author__:沂水寒城功能: Python opencv調用攝像頭獲取個人圖片使用方法:    啟動攝像頭后需要借助鍵盤輸入操作來完成圖片的獲取工作    c(change): 生成存儲目錄    p(photo): 執行截圖    q(quit): 退出拍攝OpenCV簡介1、videoCapture()方法打開攝像  攝像頭變量 cv2.VideoCapture(n)  n為整數內置攝像頭為0,若有其他攝像頭則依次為1,2,3,...  cap=cv2.VideoCapture(0) 打開內置攝像頭2、cap.isOpened()方法判斷攝像頭是否處于打開,返回結果為:True、False3、ret,img=cap.read() 讀取圖像  布爾變量,圖像變量=cap.read() 4、cap.release() 釋放攝像頭5、action=cv2.waitKey(n) 獲取用戶輸入,同時可獲取按鍵的ASCLL碼值'''import osimport cv2import sysreload(sys)sys.setdefaultencoding('utf-8')def cameraAutoForPictures(saveDir='data/'):  '''  調用電腦攝像頭來自動獲取圖片  '''  if not os.path.exists(saveDir):    os.makedirs(saveDir)  count=1 #圖片計數索引  cap=cv2.VideoCapture(0)  width,height,w=640,480,360  cap.set(cv2.CAP_PROP_FRAME_WIDTH,width)  cap.set(cv2.CAP_PROP_FRAME_HEIGHT,height)  crop_w_start=(width-w)//2  crop_h_start=(height-w)//2  print 'width: ',width  print 'height: ',height  while True:    ret,frame=cap.read() #獲取相框    frame=frame[crop_h_start:crop_h_start+w,crop_w_start:crop_w_start+w] #展示相框    frame=cv2.flip(frame,1,dst=None) #前置攝像頭獲取的畫面是非鏡面的,即左手會出現在畫面的右側,此處使用flip進行水平鏡像處理    cv2.imshow("capture", frame)    action=cv2.waitKey(1) & 0xFF    if action==ord('c'):      saveDir=raw_input(u"請輸入新的存儲目錄:")      if not os.path.exists(saveDir):        os.makedirs(saveDir)    elif action==ord('p'):      cv2.imwrite("%s/%d.jpg" % (saveDir,count),cv2.resize(frame, (224, 224),interpolation=cv2.INTER_AREA))      print(u"%s: %d 張圖片" % (saveDir,count))      count+=1    if action==ord('q'):      break  cap.release() #釋放攝像頭  cv2.destroyAllWindows() #丟棄窗口if __name__=='__main__':    cameraAutoForPictures(saveDir='data/')

上述代碼的運行環境需要是Python2,因為python2中才有reload方法,去掉那些語句就可以在Python3中執行了,我們在Python2的環境中執行結果截圖如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泽普县| 信丰县| 高青县| 武强县| 新津县| 林州市| 徐汇区| 吴川市| 佛教| 广州市| 珲春市| 日喀则市| 滦平县| 天气| 新绛县| 肇东市| 琼结县| 无极县| 佛教| 正阳县| 龙岩市| 成安县| 商河县| 彰武县| 麟游县| 阿城市| 会昌县| 耒阳市| 山东| 板桥市| 鄱阳县| 石渠县| 锦屏县| 观塘区| 环江| 安阳市| 茂名市| 台北县| 宝坻区| 海兴县| 临江市|