国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python_獲取網(wǎng)絡(luò)(大華)攝像頭畫面,并存儲(chǔ)為圖片和視頻

這篇具有很好參考價(jià)值的文章主要介紹了python_獲取網(wǎng)絡(luò)(大華)攝像頭畫面,并存儲(chǔ)為圖片和視頻。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

導(dǎo)入庫(kù)

pip install opencv-python

代碼

  • 網(wǎng)絡(luò)攝像頭
'''
Opencv-python讀取IP攝像頭視頻流
pip install opencv-python
'''

import cv2
import datetime
import time


class Camera_picture:

    def __init__(self):

        # 攝像頭登錄賬號(hào)
        self.user = "admin"

        # 攝像頭登錄密碼
        self.pwd = "123456"

        # 攝像頭地址:端口
        self.ip = "192.168.100.108:554"

        # 截圖存儲(chǔ)位置
        self.file_path = "./"

        # 攝像頭窗口名稱
        self.name = "camera"

    # 連接并獲取大華攝像頭數(shù)據(jù)
    def dahua(self):
        # channel:通道號(hào),起始為1。例如通道2,則為channel=2
        # subtype:碼流類型,主碼流為0(即subtype=0),輔碼流為1(即subtype=1)。
        video_stream_path = f"rtsp://{self.user}:{self.pwd}@{self.ip}/cam/realmonitor?channel=1&subtype=0"
        cap = cv2.VideoCapture(video_stream_path)  # 連接攝像頭

        # cap.isOpened() 判斷攝像頭是否連接成功,如果返回True則代表連接成功可以繼續(xù)操作,如果返回False則代表連接失敗
        print('IP攝像頭是否開啟: {}'.format(cap.isOpened()))

        return cap

    def timing_screenshot(self):
        '''定時(shí)截圖'''
        cap = self.dahua()
        if cap.isOpened():  # 連接成功
            cv2.namedWindow(self.name, flags=cv2.WINDOW_FREERATIO)  # 創(chuàng)建一個(gè)用于顯示畫面的窗口
            last_time = datetime.datetime.now()  # 記錄上一次時(shí)間
            while(True):
                # 逐幀捕獲,第一個(gè)參數(shù)返回一個(gè)布爾值(True/False),代表有沒有讀取到圖片;第二個(gè)參數(shù)表示截取到一幀的圖片
                ret, frame = cap.read()
                frame = cv2.resize(frame, (500, 300))  # 調(diào)整畫面大小
                cv2.imshow(self.name, frame)  # 顯示攝像頭畫面

                # 定時(shí)獲取截圖
                cur_time = datetime.datetime.now()  # 當(dāng)前時(shí)間
                name = self.file_path + str(time.time()) + ".jpg"  # 路徑+名稱+格式
                if (cur_time - last_time).seconds >= 10:  # 如果間隔超過(guò)10秒就截圖
                    cv2.imwrite(name, cap.read()[1])  # 保存攝像頭畫面
                    last_time = cur_time
                    print("畫面保存成功")

                if cv2.waitKey(1) & 0xFF == ord('q'):
                    break

            # 當(dāng)一切結(jié)束后,釋放VideoCapture對(duì)象
            cap.release()  # 釋放攝像頭
            cv2.destroyAllWindows()  # 釋放所有顯示圖像窗口
        else:
            print("攝像頭連接失敗,請(qǐng)檢查配置")

    def manual_screenshot(self):
        '''手動(dòng)截圖'''
        cap = self.dahua()
        if cap.isOpened():
            cv2.namedWindow(self.name, flags=cv2.WINDOW_FREERATIO)
            while(True):
                ret, frame = cap.read()
                frame = cv2.resize(frame, (500, 300))
                cv2.imshow(self.name, frame)

                event = cv2.waitKey(1) & 0xFF  # 使用變量

                if event == ord('s'):  # 按"S"截取圖片
                    name = self.file_path + str(time.time()) + ".jpg"
                    cv2.imwrite(name, cap.read()[1])
                    print("畫面保存成功")

                elif event == ord('q'):
                    break

            cap.release()
            cv2.destroyAllWindows()
        else:
            print("攝像頭連接失敗,請(qǐng)檢查配置")

    def get_video_stream(self):
        '''獲取視頻流'''
        cap = self.dahua()
        if cap.isOpened():  # 連接成功
            width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))  # 獲取視頻的寬度
            height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))  # 獲取視頻的高度
            fps = cap.get(cv2.CAP_PROP_FPS)  # 獲取視頻的幀率
            # fourcc = int(cap.get(cv2.CAP_PROP_FOURCC))  # 視頻的編碼

            # FourCC 是用于指定視頻編解碼器的4字節(jié)代碼
            fourcc = cv2.VideoWriter_fourcc(*"MJPG")
            writer = cv2.VideoWriter(f"{self.file_path}{str(time.time())}.mp4", fourcc, fps, (width, height))

            while(True):
                ret, frame = cap.read()

                if not ret:  # 返回False退出循環(huán)
                    break

                writer.write(frame)  # 視頻保存

                frame = cv2.resize(frame, (500, 300))
                cv2.imshow(self.name, frame)

                if cv2.waitKey(1) & 0xFF == ord('q'):
                    break

            cap.release()
            cv2.destroyAllWindows()
        else:
            print("攝像頭連接失敗,請(qǐng)檢查配置")


if __name__ == '__main__':
    run = Camera_picture()
    # run.timing_screenshot()
    run.get_video_stream()
    # run.manual_screenshot()

  • USB攝像頭
'''
Opencv-python讀取USB攝像頭視頻流
pip install opencv-python
'''

import cv2


def usb_camera():
    '''usb攝像頭連接'''
    cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)  # 連接攝像頭

    if cap.isOpened():  # 連接成功
        while(True):
            ret, frame = cap.read()
            # frame = cv2.flip(frame, 1)  # 攝像頭是和人對(duì)立的,將圖像左右調(diào)換回來(lái)正常顯示
            cv2.imshow("Usb Capture", frame)
            if cv2.waitKey(1) & 0xFF == ord('q'):
                break

        cap.release()
        cv2.destroyAllWindows()

    else:
        print("攝像頭連接失敗,請(qǐng)檢查攝像頭連接是否正常")


if __name__ == '__main__':
    usb_camera()

文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-527740.html

到了這里,關(guān)于python_獲取網(wǎng)絡(luò)(大華)攝像頭畫面,并存儲(chǔ)為圖片和視頻的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 大華SDK+JAVA+4g網(wǎng)絡(luò)攝像頭進(jìn)行二次開發(fā)

    大華SDK+JAVA+4g網(wǎng)絡(luò)攝像頭進(jìn)行二次開發(fā)

    監(jiān)控,相信大家都不陌生。現(xiàn)在的監(jiān)控技術(shù)發(fā)展迅速,國(guó)內(nèi)以海康威視為首的智能視頻監(jiān)控提供商也層出不窮?,F(xiàn)在,這些提供商都已經(jīng)提供了相應(yīng)的SDK以及API接口,能夠很好的支撐我們進(jìn)行攝像機(jī)的二次開發(fā)工作。相信大家都有接觸過(guò)這么一個(gè)需求:利用手機(jī)可以自己進(jìn)行

    2024年01月20日
    瀏覽(20)
  • 在Orangepi5開發(fā)板3588s使用opencv獲取攝像頭畫面

    在Orangepi5開發(fā)板3588s使用opencv獲取攝像頭畫面

    先感謝香橙派群的管理員耐心指導(dǎo),經(jīng)過(guò)不斷的調(diào)試修改最后成功通過(guò)opencv調(diào)用mipi攝像頭獲取畫面 就記錄分享一下大概步驟希望大家少踩點(diǎn)坑?。。。。。?我用的固件系統(tǒng)是 ubuntu2022.0.4 固件是: Orangepi5_1.1.6_ubuntu_jammy_desktop_gnome_linux5 .10.110.img 想通過(guò)opencv獲取畫面得先安裝

    2024年02月12日
    瀏覽(32)
  • 消除Python OpenCV顯示攝像頭畫面的延遲

    消除Python OpenCV顯示攝像頭畫面的延遲

    用 Python 通過(guò) OpenCV顯示攝像頭畫面時(shí),如果對(duì)視頻幀進(jìn)行一些處理,常常會(huì)遇到一個(gè)問(wèn)題,顯示的畫面比眼睛看到真實(shí)場(chǎng)景慢幾秒甚至更多,給用戶的體驗(yàn)不好。 畫面延遲與卡頓的區(qū)別 卡頓 是指視頻播放時(shí),出現(xiàn)一頓一頓的現(xiàn)象,不流暢,通常每秒播放速率少于10幀就可以

    2024年02月11日
    瀏覽(20)
  • 解決OpenCV使用USB攝像頭獲取高分辨率視頻低幀率、卡、果凍畫面的問(wèn)題

    最近制作移動(dòng)設(shè)備,需要安置多個(gè)usb攝像頭到電腦,踩了幾個(gè)坑,記錄一下解決方案。 不能使用分線器插多個(gè)usb攝像頭,同一時(shí)間只能加載一個(gè)。 usb攝像頭調(diào)高分辨率時(shí),非??D,視頻畫面像果凍一樣,及不流暢 第二個(gè)情況具體描述: 攝像頭支持1920*1080? 60fps,opencv在

    2024年02月16日
    瀏覽(30)
  • 大華攝像頭有問(wèn)題,??禂z像頭也有問(wèn)題

    買了個(gè)大華攝像頭,除了抗噪方面效果不好,我是很滿意的。前一段時(shí)間攝像頭啟動(dòng)出了點(diǎn)問(wèn)題(忘記拔掉SD卡),于是買了個(gè)海康的。 大華攝像頭是3寸,??凳?寸。視頻效果差多了??磥?lái)大有大的道理。 更可恨的是,螢石云不支持這個(gè)攝像頭(說(shuō)是要插錄像機(jī))。買的時(shí)

    2024年02月11日
    瀏覽(21)
  • unity海康威視原生SDK拉取網(wǎng)絡(luò)攝像頭畫面,并展示在一個(gè)Material上

    unity??低曉鶶DK拉取網(wǎng)絡(luò)攝像頭畫面,并展示在一個(gè)Material上

    untiy版本是2019.4,低版本會(huì)有問(wèn)題,速度比UMP插件快得多 原理是使用sdk獲取視頻流,格式為YUV,然后分離YUV通道到三張不同的Texture2D上,通過(guò)shader將三個(gè)通道重新輸出為原始圖像。 我將所用的各個(gè)部分已經(jīng)整理成一個(gè)壓縮包,免積分下載 壓縮包結(jié)構(gòu)如下 使用步驟 1 DLL:放在

    2024年02月13日
    瀏覽(27)
  • web接入大華攝像頭實(shí)時(shí)視頻

    web接入大華攝像頭實(shí)時(shí)視頻

    目錄 一、FFmpeg下載及配置???? 二、nginx下載及配置 三、攝像rtsp取流 四、ffmpeg推流 五、html前端工作 地址:Download FFmpeg ?? 下載并解壓FFmpeg文件夾,配置環(huán)境變量:在“Path”變量原有變量值內(nèi)容上加上d:ffmpegbin,驗(yàn)證:ffmpeg -version 出現(xiàn)版本號(hào)則成功。 這個(gè)我之前有,

    2023年04月20日
    瀏覽(22)
  • Java對(duì)接大華攝像頭SDK

    Java對(duì)接大華攝像頭SDK

    大華SDK下載地址:https://support.dahuatech.com/tools/sdkExploit 開發(fā)操作系統(tǒng):Windows10-64位 服務(wù)器操作系統(tǒng):linux 64位 sdk版本:設(shè)備網(wǎng)絡(luò)SDK_JAVA_Linux64_V3.055.0000000.1.R.221027 我下載的是JAVA-win64和JAVA_Linux64版本(如果是用linux開發(fā)可以只下載linux版本,因?yàn)槲冶镜厥荳indows,運(yùn)行時(shí)有些包需要

    2024年02月16日
    瀏覽(23)
  • 大華攝像頭windows、linuxJavaSDK開發(fā)使用

    大華攝像頭windows、linuxJavaSDK開發(fā)使用

    本文檔主要介紹 SDK 接口參考信息,包括主要功能、接口函數(shù)和回調(diào)函數(shù)。 主要功能包括:SDK 初始化、設(shè)備登錄、實(shí)時(shí)預(yù)覽、云臺(tái)控制、語(yǔ)音對(duì)講、報(bào)警監(jiān)聽、智能訂閱、 錄像回放和錄像下載等。 根據(jù)環(huán)境不同,開發(fā)包包含的文件會(huì)不同,具體如下所示。 Windows 開發(fā)包所包

    2024年01月20日
    瀏覽(18)
  • ??禂z像頭開發(fā)筆記(一):連接防爆攝像頭、配置攝像頭網(wǎng)段、設(shè)置rtsp碼流、播放rtsp流、獲取rtsp流、調(diào)優(yōu)rtsp流播放延遲以及錄像存儲(chǔ)

    ??禂z像頭開發(fā)筆記(一):連接防爆攝像頭、配置攝像頭網(wǎng)段、設(shè)置rtsp碼流、播放rtsp流、獲取rtsp流、調(diào)優(yōu)rtsp流播放延遲以及錄像存儲(chǔ)

    文為原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明原文出處 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131679108 上一篇:沒有了 下一篇:敬請(qǐng)期待… ??Hik防爆攝像頭錄像,因?yàn)榉辣瑪z像頭會(huì)有對(duì)應(yīng)的APP軟件,與普通的網(wǎng)絡(luò)攝像頭和球機(jī)不一樣,默認(rèn)認(rèn)為它不可以通過(guò)web網(wǎng)頁(yè)配置,所以弄

    2024年02月16日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包