亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python OpenCV 調(diào)用攝像頭并截圖保存功能的實(shí)現(xiàn)代碼

系統(tǒng) 1955 0

0x01 OpenCV安裝

?通過(guò)命令 pip install opencv-python 安裝

            
pip install opencv-python
          

0x02? 示例

            
import cv2
cap = cv2.VideoCapture(0)    #打開(kāi)攝像頭
while(1):
  # get a frame
  ret, frame = cap.read()
  # show a frame
  cv2.imshow("capture", frame)   #生成攝像頭窗口
  if cv2.waitKey(1) & 0xFF == ord('q'):  #如果按下q 就截圖保存并退出
    cv2.imwrite("D:/test.png", frame)  #保存路徑
    break
cap.release()
cv2.destroyAllWindows()
          

ps:下面看下python 調(diào)用麥克風(fēng);攝像頭;截屏;

            
# -*- coding: utf-8 -*-
"""
Created on Mon Jun 24 14:47:35 2019
@author: erio
"""
from PIL import Image,ImageGrab
import cv2
import pyaudio
import wave
'''
#錄音
input_filename = "record.wav"             # 麥克風(fēng)采集的語(yǔ)音輸入
input_filepath = "E:"       # 輸入文件的path
in_pathrec = input_filepath + input_filename     #通俗解釋就是wav文件路徑
def get_audio(filepath):
    CHUNK = 256         #定義數(shù)據(jù)流塊
    FORMAT = pyaudio.paInt16  #量化位數(shù)(音量級(jí)劃分)
    CHANNELS = 1        # 聲道數(shù);聲道數(shù):可以是單聲道或者是雙聲道
    RATE = 8000        # 采樣率;采樣率:一秒內(nèi)對(duì)聲音信號(hào)的采集次數(shù),常用的有8kHz, 16kHz, 32kHz, 48kHz, 11.025kHz, 22.05kHz, 44.1kHz
    RECORD_SECONDS = 10     #錄音秒數(shù)
    WAVE_OUTPUT_FILENAME = filepath   #wav文件路徑
    p = pyaudio.PyAudio()        #實(shí)例化
    stream = p.open(format=FORMAT,
            channels=CHANNELS,
            rate=RATE,
            input=True,
            frames_per_buffer=CHUNK)
    # print("*"*10, "開(kāi)始錄音:請(qǐng)?jiān)?秒內(nèi)輸入語(yǔ)音")
    frames = []                         #定義一個(gè)列表
    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):   #循環(huán),采樣率11025 / 256 * 5
      data = stream.read(CHUNK)                #讀取chunk個(gè)字節(jié) 保存到data中
      frames.append(data)                   #向列表frames中添加數(shù)據(jù)data
   # print(frames)
   # print("*" * 10, "錄音結(jié)束\n")
    stream.stop_stream()
    stream.close()     #關(guān)閉
    p.terminate()      #終結(jié)
    wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')         #打開(kāi)wav文件創(chuàng)建一個(gè)音頻對(duì)象wf,開(kāi)始寫WAV文件
    wf.setnchannels(CHANNELS)                  #配置聲道數(shù)
    wf.setsampwidth(p.get_sample_size(FORMAT))         #配置量化位數(shù)
    wf.setframerate(RATE)                    #配置采樣率
    wf.writeframes(b''.join(frames))              #轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)寫入文件
    wf.close()       #關(guān)閉
get_audio(in_pathrec)
'''
#截屏
input_filenamescr = "screen.jpg"             
input_filepath = "E:"     
in_pathscr = input_filepath + input_filenamescr   
def get_screen(filepath):
  img = ImageGrab.grab()
  img.save(filepath)
get_screen(in_pathscr)
'''
#拍照
input_filenamecam = "camera.jpg"             
input_filepath = "E:"     
in_pathcam = input_filepath + input_filenamecam  
def get_camera(filepath):
  cap=cv2.VideoCapture(0)
  ret,frame = cap.read()
  i=0;
  cv2.imwrite(filepath,frame)
  cap.release()
  cv2.destroyAllWindows()
get_camera(in_pathcam)
'''
'''
#錄制視頻
cap = cv2.VideoCapture(0)#創(chuàng)建一個(gè) VideoCapture 對(duì)象
flag = 1 #設(shè)置一個(gè)標(biāo)志,用來(lái)輸出視頻信息
num = 1 #遞增,用來(lái)保存文件名
while(cap.isOpened()):#循環(huán)讀取每一幀
  ret_flag, Vshow = cap.read() #返回兩個(gè)參數(shù),第一個(gè)是bool是否正常打開(kāi),第二個(gè)是照片數(shù)組,如果只設(shè)置一個(gè)則變成一個(gè)tumple包含bool和圖片
  cv2.imshow("Capture_Test",Vshow) #窗口顯示,顯示名為 Capture_Test
  k = cv2.waitKey(1) & 0xFF #每幀數(shù)據(jù)延時(shí) 1ms,延時(shí)不能為 0,否則讀取的結(jié)果會(huì)是靜態(tài)幀
  if k == ord('s'): #若檢測(cè)到按鍵 ‘s',打印字符串
    cv2.imwrite("D:/pycharmthings/IMF/getpics/"+ str(num) + ".jpg", Vshow)
    print(cap.get(3)); #得到長(zhǎng)寬
    print(cap.get(4));
    print("success to save"+str(num)+".jpg")
    print("-------------------------")
    num += 1
  elif k == ord('q'): #若檢測(cè)到按鍵 ‘q',退出
    break
cap.release() #釋放攝像頭
cv2.destroyAllWindows()#刪除建立的全部窗口
'''
          

總結(jié)

以上所述是小編給大家介紹的Python OpenCV 調(diào)用攝像頭并截圖保存功能的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 成人国产在线24小时播放视频 | 欧美日韩国产在线观看 | 久久久男女野外野战 | 青青爽 | 五月天丁香六月欧美综合 | 成人午夜久久 | 久久这里精品青草免费 | 国产女人综合久久精品视 | 精品国产一二三区在线影院 | 最新中文字幕在线观看 | 一区二区三区四区在线 | 国产精品一区久久 | 日本一级特黄大一片免 | 亚洲第一人黄所 | 日本不卡视频在线视频观看 | 欧美激情久久欧美激情 | 国内免费一区二区三区视频 | 久久视频精品36线视频在线观看 | 非洲黑人xxxxxbbbbbb | 曰本女人视频69xxx | 偷偷狠狠的日日2020 | 中文字幕日韩哦哦哦 | 亚洲综合伦理一区 | 午夜剧场毛片 | 真实的国产乱xxxx在线播放 | 在线精品欧美 | 国产一级做a爱片久久毛片a | 四虎在线最新地址4hu | 亚洲一区二区在线 | 成人a大片高清在线观看 | 日本特黄一级午夜剧场毛片 | 欧美人一级淫片a免费播放 欧美人与zoxxxx另类9 | 五月情婷婷 | 日韩经典欧美一区二区三区 | 黑人边吃奶边扎下面激情视频 | 欧美啪啪小视频 | 天天做人人爱夜夜爽2020毛片 | 四虎影视在线影院在线观看观看 | 免费黄a | 亚洲精品98久久久久久中文字幕 | 丁香婷婷六月 |