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

【Python】基于Python和Qt的海康威視相機(jī)開(kāi)發(fā)

這篇具有很好參考價(jià)值的文章主要介紹了【Python】基于Python和Qt的??低曄鄼C(jī)開(kāi)發(fā)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

0 前期教程

  • 【項(xiàng)目實(shí)踐】??低暪I(yè)相機(jī)SDK開(kāi)發(fā)小白版入門(mén)教程(VS2015+OpenCV4.5.1)

1 前言

??此前寫(xiě)了一篇基于C++開(kāi)發(fā)??低曄鄼C(jī)的博客,貌似看的人還挺多,收藏量比較高,但其實(shí)當(dāng)時(shí)就知道其實(shí)??低曄鄼C(jī)還可以使用python開(kāi)發(fā),但當(dāng)時(shí)python水平不高,也沒(méi)有深入了解,趁此機(jī)會(huì),好好總結(jié)一下用python開(kāi)發(fā)的一些要點(diǎn)。

2 例程解析

??上面的前期教程在資料查找部分已經(jīng)講得很清楚了,這里就不再贅述。重點(diǎn)看一下官方提供python例程:

【Python】基于Python和Qt的??低曄鄼C(jī)開(kāi)發(fā),# Python,數(shù)碼相機(jī),python,qt,??低?opencv

這個(gè)路徑下,只有MvImport文件夾是需要導(dǎo)入的庫(kù)文件,其他的都是某個(gè)功能對(duì)應(yīng)的例程,前面兩個(gè)BasicDemo是比較完善的例程,有圖形界面。

??先隨便找一個(gè)例程看看:

【Python】基于Python和Qt的??低曄鄼C(jī)開(kāi)發(fā),# Python,數(shù)碼相機(jī),python,qt,??低?opencv
重點(diǎn)是紅框中的內(nèi)容,可以看到這個(gè)例程其實(shí)包含了MvCameraControl_class這個(gè)包,而這個(gè)包是在上面提到的MvImport文件夾下,所以在import前要先用append包含進(jìn)這個(gè)路徑。

??但是這樣使用會(huì)存在一個(gè)問(wèn)題,那就是如果在VS Code中開(kāi)發(fā),這樣是不能通過(guò)靜態(tài)檢查的,也就沒(méi)有了代碼提示,用起來(lái)很不方便;而且從源碼交互方面來(lái)說(shuō),這樣要求運(yùn)行這個(gè)代碼的必須要有MVS環(huán)境,這個(gè)是很不優(yōu)雅的。所以建議將MvImport文件夾復(fù)制到項(xiàng)目目錄下,然后以from MvImport.MvCameraControl_class import *這樣的形式來(lái)導(dǎo)入包,這樣不僅不再需要append路徑操作,而且靜態(tài)檢查也能通過(guò),代碼提示也有了。

??再來(lái)看看MvImport文件夾下的文件:

【Python】基于Python和Qt的??低曄鄼C(jī)開(kāi)發(fā),# Python,數(shù)碼相機(jī),python,qt,海康威視,opencv

這里需要注意的是,如果將MvImport文件夾放到項(xiàng)目目錄下,那么該目錄下的文件在import同文件夾腳本時(shí),要注意不能使用本文件的相對(duì)路徑,而要使用項(xiàng)目的相對(duì)路徑!! 這樣才能靜態(tài)檢查通過(guò)。
??另外還有這個(gè)導(dǎo)入的dll文件,使用的是絕對(duì)路徑,感覺(jué)不夠優(yōu)雅,而且可移植性不強(qiáng),還是建議將dll文件復(fù)制到項(xiàng)目目錄下,但是這里需要注意的是,這里實(shí)際調(diào)用的dll文件不止這一個(gè),所以還是把整個(gè)文件夾都復(fù)制進(jìn)去,所以最后項(xiàng)目的整體結(jié)構(gòu)如下:

project_direction:
	|-- project.py
	|-- ........
	|-- MvImport
	|   |-- CameraParams_const.py
	|   |-- CameraParams_header.py
	|   |-- MvCameraControl_class.py
	|   |-- MvErrorDefine_const.py
	|   |-- PixelType_header.py
	|   |-- Win64_x64
	|   |   |-- MvCameraControl.dll
	|   |   |-- .......

然后在導(dǎo)入包時(shí),所有的腳本均以項(xiàng)目目錄為起點(diǎn),以相對(duì)路徑的形式導(dǎo)入包,這樣不僅對(duì)靜態(tài)檢查有利,對(duì)后續(xù)導(dǎo)出執(zhí)行程序也有很大幫助。

3 圖像獲取

??按照上面的步驟,配好了項(xiàng)目結(jié)構(gòu),接下來(lái)就是編程了。由于官方給的代碼注釋比較全面,這里就不再贅述了,主要是搞清楚相機(jī)的運(yùn)行流程,然后按照官方給的例程和手冊(cè)一步一步來(lái)就問(wèn)題不大。
??這里記錄一個(gè)在使用過(guò)程中遇到的問(wèn)題,那就是取圖部分。根據(jù)官方的手冊(cè),取圖主要有兩種方式,如下圖所示:
【Python】基于Python和Qt的??低曄鄼C(jī)開(kāi)發(fā),# Python,數(shù)碼相機(jī),python,qt,海康威視,opencv

分別是 MV_CC_GetOneFrameTimeout()MV_CC_GetImageBuffer()這兩種方式,根據(jù)官網(wǎng)提供的文檔,使用后者的效率更高,但是問(wèn)題在于官方提供的python 例程當(dāng)中,

【Python】基于Python和Qt的??低曄鄼C(jī)開(kāi)發(fā),# Python,數(shù)碼相機(jī),python,qt,海康威視,opencv

_MV_FRAME_OUT_這個(gè)結(jié)構(gòu)體下pBufAddr數(shù)據(jù)類(lèi)型錯(cuò)了,這種表示方法使得該變量只有一個(gè)unsigned char類(lèi)型,應(yīng)該還需要乘上該字節(jié)的長(zhǎng)度,但是由于相機(jī)的分辨率是可以自定義的,且不同相機(jī)型號(hào)分辨率不同,因此這里才沒(méi)有設(shè)置乘數(shù)為多少。

??總之因?yàn)檫@個(gè)原因,如果使用 MV_CC_GetImageBuffer()這個(gè)函數(shù)來(lái)讀取圖像數(shù)據(jù),只能得到一個(gè)字節(jié),其實(shí)也就是空值。所以這里才使用MV_CC_GetOneFrameTimeout()這種方式來(lái)讀取圖像數(shù)據(jù),或者修改上面的代碼,但這樣牽一發(fā)動(dòng)全身,不好掌握。
??而且官方給出的BasicDemo例程也是基于MV_CC_GetOneFrameTimeout()來(lái)取圖,所以這里建議優(yōu)先采用后者,具體的使用方式建議參考BasicDemo例程。

參考鏈接


//更新:
貌似使用MV_CC_GetImageBuffer()也是可以正常取圖的,需要使用ctypes這個(gè)包里面的一些操作,可以參考這個(gè)鏈接。

4 其他問(wèn)題與解決辦法

  • 使用網(wǎng)口轉(zhuǎn)USB模塊連接到電腦無(wú)法識(shí)別設(shè)備
    需要明確的是,網(wǎng)口轉(zhuǎn)USB相當(dāng)于是一個(gè)有線(xiàn)網(wǎng)卡,沒(méi)有連接到互聯(lián)網(wǎng),也就不具有DHCP功能,因此需要手動(dòng)給這個(gè)網(wǎng)卡分配一個(gè)IP地址,這個(gè)IP地址在相機(jī)看來(lái)就是電腦的IP地址,這樣相機(jī)就能正常找到電腦,即電腦也能找到相機(jī)了,另外,二者的IP最好在同一網(wǎng)段,即第三位相同。

  • MVS中識(shí)別到相機(jī),但運(yùn)行Python程序沒(méi)有識(shí)別到,報(bào)錯(cuò)no data, ret = 80000007
    這可能是因?yàn)榉阑饓Φ脑?,不妨切換一下所連接WiFi的屬性,比如公用還是專(zhuān)用(原來(lái)公用的換成專(zhuān)用,原來(lái)專(zhuān)用的換成公用):
    【Python】基于Python和Qt的??低曄鄼C(jī)開(kāi)發(fā),# Python,數(shù)碼相機(jī),python,qt,??低?opencv
    總之最后保證python.exe公用和專(zhuān)用防火墻都允許,如下圖所示:
    【Python】基于Python和Qt的海康威視相機(jī)開(kāi)發(fā),# Python,數(shù)碼相機(jī),python,qt,??低?opencv

    參考鏈接

5 使用到的python包

??在開(kāi)發(fā)過(guò)程中,使用到很多比較“底層”的包,有點(diǎn)新奇,這里附上一些學(xué)習(xí)鏈接。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-604760.html

  • msvcrt:輸入交互,參考鏈接
  • threading:多線(xiàn)程
    • Lock類(lèi)詳解
    • Thread類(lèi)用法詳解
  • ctypes:架起c/c++和python之間的橋梁
    • 官方教程
    • link1
    • link2
    • link3
    • link4

到了這里,關(guān)于【Python】基于Python和Qt的??低曄鄼C(jī)開(kāi)發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(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)文章

  • 海康威視相機(jī)SDK二次開(kāi)發(fā)(JAVA語(yǔ)言)

    ??低曄鄼C(jī)SDK二次開(kāi)發(fā)(JAVA語(yǔ)言)

    前言 有個(gè)項(xiàng)目需要使用java程序讀取海康威視的相機(jī)圖片。相機(jī)通過(guò)以太網(wǎng)連接服務(wù)器,部署在服務(wù)器上的java程序?qū)⑾鄼C(jī)拍攝的畫(huà)面保存在指定路徑下。 ??低曁峁┝藄dk開(kāi)發(fā)包,可以在官網(wǎng)中下載,windows和linux系統(tǒng)都有。但是開(kāi)發(fā)包中給出的示例代碼,無(wú)法滿(mǎn)足實(shí)際需要,

    2024年04月29日
    瀏覽(25)
  • U盤(pán)/硬盤(pán)/數(shù)碼相機(jī)RAW格式文件丟失的原因|恢復(fù)方法

    在現(xiàn)代數(shù)字生活中,U盤(pán)、硬盤(pán)以及數(shù)碼相機(jī)等設(shè)備已經(jīng)成為我們儲(chǔ)存和分享數(shù)據(jù)的主要工具。然而,當(dāng)這些設(shè)備中的RAW格式文件出現(xiàn)丟失時(shí),我們可能會(huì)陷入困境。面對(duì)這種情況,了解如何恢復(fù)這些RAW格式文件就變得至關(guān)重要。 一、理解RAW格式文件 RAW格式文件是一種原始數(shù)

    2024年02月12日
    瀏覽(17)
  • 【計(jì)算機(jī)視覺(jué):算法和應(yīng)用】第二章:圖像形成——2.3數(shù)碼相機(jī)

    【計(jì)算機(jī)視覺(jué):算法和應(yīng)用】第二章:圖像形成——2.3數(shù)碼相機(jī)

    2.1幾何圖元與變換 2.2相機(jī)輻射成像 ? ? ? ?從一個(gè)或多個(gè)光源開(kāi)始,在世界中一個(gè)或多個(gè)表面反射并通過(guò)相機(jī)鏡頭后,光最終到達(dá)成像傳感器。到達(dá)傳感器的光子是如何轉(zhuǎn)換為我們?cè)跀?shù)字圖像上看到的數(shù)字(R,G,B)值的呢?在這一節(jié),我們構(gòu)建了一個(gè)簡(jiǎn)單的模型來(lái)解釋大多數(shù)

    2024年01月19日
    瀏覽(30)
  • 小米12s ultra,索尼xperia1 iv,數(shù)碼相機(jī) 拍照對(duì)比

    小米12s ultra,索尼xperia1 iv,數(shù)碼相機(jī) 拍照對(duì)比

    首先說(shuō)明所有的測(cè)試結(jié)果和拍攝數(shù)據(jù)我放到百度網(wǎng)盤(pán)了(地址在結(jié)尾) 我一直想知道現(xiàn)在的手機(jī)和相機(jī)差距有多大,到底差在哪兒? 先說(shuō)結(jié)論: 1.1英寸的手機(jī)cmos(2022年) 6年前(2016)的入門(mén)款相機(jī)(m43畫(huà)幅) 2.手機(jī) 不能換鏡頭,只能在特定的拍攝距離才能發(fā)揮出全部的實(shí)力.數(shù)碼變焦畫(huà)質(zhì)損

    2024年02月09日
    瀏覽(33)
  • ??低暪I(yè)相機(jī)Linux SDK開(kāi)發(fā)指南詳細(xì)步驟(Ubuntu20.04+單目、雙目相機(jī)單次、連續(xù)拍照)

    海康威視工業(yè)相機(jī)Linux SDK開(kāi)發(fā)指南詳細(xì)步驟(Ubuntu20.04+單目、雙目相機(jī)單次、連續(xù)拍照)

    由于實(shí)驗(yàn)需要使用雙目相機(jī)同步采集圖像,實(shí)驗(yàn)室準(zhǔn)備的設(shè)備是??低暤墓I(yè)相機(jī),對(duì)其進(jìn)行二次開(kāi)發(fā),其中花了大部分時(shí)間查找資料,以及代碼進(jìn)行反復(fù)調(diào)試,最后到達(dá)了想要的效果,并寫(xiě)博客記錄一下。 首先是資料的查找,我們要注意的是??低曇还灿袃蓚€(gè)官網(wǎng),一

    2024年02月16日
    瀏覽(252)
  • 【項(xiàng)目實(shí)踐】??低暪I(yè)相機(jī)SDK開(kāi)發(fā)小白版入門(mén)教程(VS2015+OpenCV4.5.1)

    【項(xiàng)目實(shí)踐】??低暪I(yè)相機(jī)SDK開(kāi)發(fā)小白版入門(mén)教程(VS2015+OpenCV4.5.1)

    ??由于學(xué)校要求暑期實(shí)習(xí),于是找了一位學(xué)長(zhǎng)開(kāi)的公司,接了一個(gè)項(xiàng)目,是 對(duì)??低暪I(yè)相機(jī)(MV_CE200_10GM)進(jìn)行二次開(kāi)發(fā),讀取其圖像并做分析處理。 于是花了一點(diǎn)時(shí)間查找的相關(guān)資料并記錄一些 入門(mén)要點(diǎn) 。 ??想先說(shuō)說(shuō)一些 “嘗試授人與漁” 的話(huà),也是自己的一

    2024年02月04日
    瀏覽(39)
  • 基于??低暤腟DK實(shí)現(xiàn)二次開(kāi)發(fā)

    基于??低暤腟DK實(shí)現(xiàn)二次開(kāi)發(fā)

    因?yàn)榫W(wǎng)上關(guān)于??低昐DK這塊的開(kāi)發(fā)資源比較少,自己也是一步一步摸索過(guò)來(lái),知道那種痛苦, 所以把自己的一些過(guò)來(lái)人的經(jīng)驗(yàn)寫(xiě)出來(lái)供大家學(xué)習(xí)參考 進(jìn)入??低暪倬W(wǎng) 下載你所需要的SDK開(kāi)發(fā)包(這里我就用windows來(lái)作為案列) 下載完SDK解壓 里面有開(kāi)發(fā)文檔和SDK的動(dòng)態(tài)庫(kù)文

    2024年04月10日
    瀏覽(17)
  • 基于海康SDK實(shí)現(xiàn)Python調(diào)用??低暰W(wǎng)絡(luò)攝像頭

    基于??礢DK實(shí)現(xiàn)Python調(diào)用??低暰W(wǎng)絡(luò)攝像頭

    本文參考博客,寫(xiě)得很好: Python調(diào)用海康威視網(wǎng)絡(luò)相機(jī)之——python調(diào)用??低旵++的SDK Python調(diào)用海康威視網(wǎng)絡(luò)相機(jī)C++的SDK 寫(xiě)本文的目的,也是快速?gòu)?fù)盤(pán),所以沒(méi)有很詳細(xì) 保存視頻流到本地可參考下一篇:基于??礢DK實(shí)現(xiàn)Python保存??低暰W(wǎng)絡(luò)攝像頭拍攝的視頻 Windows11 Vis

    2024年02月02日
    瀏覽(54)
  • Qt 基于??迪鄼C(jī)的視頻繪圖

    Qt 基于海康相機(jī)的視頻繪圖

    需求 在視頻窗口上進(jìn)行繪圖,包括圓,矩形,扇形等 效果 : ?思路: 自己取圖然后轉(zhuǎn)成QImage ,再向QWidget 進(jìn)行渲染,根據(jù)以往的經(jīng)驗(yàn),無(wú)法達(dá)到很高的幀率。因此決定使用相機(jī)SDK自帶的渲染功能,也就是傳一個(gè)句柄給到sdk。但是這樣視頻渲染出來(lái)了,向上繪制圖案,會(huì)被視

    2024年02月04日
    瀏覽(14)
  • ??低暠O(jiān)控相機(jī)的SDK與opencv調(diào)用(非工業(yè)相機(jī))

    海康威視監(jiān)控相機(jī)的SDK與opencv調(diào)用(非工業(yè)相機(jī))

    本篇主要對(duì)??低暤谋O(jiān)控相機(jī)的SDK回調(diào)進(jìn)行研究,并于opencv結(jié)合,保存圖像,以供后續(xù)其他處理,開(kāi)發(fā)語(yǔ)言為C++ 2.1 海康SDK介紹 ??礢DK下載地址 根據(jù)自身編譯環(huán)境,下載對(duì)應(yīng)的SDK,需要注意的是,不要和工業(yè)相機(jī)SDK相混淆,工業(yè)相機(jī)好像是MVS是什么玩意兒,現(xiàn)在暫時(shí)沒(méi)研究

    2024年02月04日
    瀏覽(39)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包