91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于opencv對(duì)高空拍攝視頻消抖處理

新機(jī)器視覺 ? 來源:AI算法與圖像處理 ? 作者:AI算法與圖像處理 ? 2021-03-20 10:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、問題背景

無人機(jī)在拍攝視頻時(shí),由于風(fēng)向等影響因素,不可避免會(huì)出現(xiàn)位移和旋轉(zhuǎn),導(dǎo)致拍攝出的畫面存在平移和旋轉(zhuǎn)的幀間變換, 即“抖動(dòng)” 抖動(dòng)會(huì)改變目標(biāo)物體 (車輛、行人) 的坐標(biāo),給后續(xù)的檢測(cè)、跟蹤任務(wù)引入額外誤差,造成數(shù)據(jù)集不可用。

原效果

目標(biāo)效果

理想的無抖動(dòng)視頻中,對(duì)應(yīng)于真實(shí)世界同一位置的背景點(diǎn)在不同幀中的坐標(biāo)應(yīng)保持一致,從而使車輛、行人等目標(biāo)物體的坐標(biāo)變化只由物體本身的運(yùn)動(dòng)導(dǎo)致,而不包含相機(jī)的運(yùn)動(dòng) 抖動(dòng)可以由不同幀中對(duì)應(yīng)背景點(diǎn)的坐標(biāo)變換來描述

二、量化指標(biāo)

抖動(dòng)可以用相鄰幀之間的 x 方向平移像素 dx,y 方向平移像素 dy,旋轉(zhuǎn)角度 da,縮放比例 s 來描述,分別繪制出 4 個(gè)折線圖,根據(jù)折線圖的走勢(shì)可以判斷抖動(dòng)的程度 理想的無抖動(dòng)視頻中,dx、dy、da 幾乎始終為 0,s 幾乎始終為 1。

三、技術(shù)思路

我們最終實(shí)現(xiàn),將視頻的所有幀都對(duì)齊到第一幀,以達(dá)到視頻消抖問題,實(shí)現(xiàn)邏輯如下圖所示。

97fc0916-88ef-11eb-8b86-12bb97331649.png

(1)首先對(duì)視頻進(jìn)行抽第一幀與最后一幀,為什么抽取兩幀?這樣做的主要目的是,我們?cè)谧鰩瑢?duì)齊時(shí),使用幀中靜態(tài)物的關(guān)鍵點(diǎn)做對(duì)齊,如果特征點(diǎn)來源于動(dòng)態(tài)物上,那么對(duì)齊后就會(huì)產(chǎn)生形變,我們選取第一幀與最后一幀,提取特征點(diǎn),留下交集部分,則可以得到靜態(tài)特征點(diǎn)我們這里稱為特征模板,然后將特征模板應(yīng)用到每一幀上,這樣可以做有效對(duì)齊。

(2)常用特征點(diǎn)檢測(cè)器:

SIFT: 04 年提出,廣泛應(yīng)用于各種跟蹤和識(shí)別算法,表現(xiàn)能力強(qiáng),但計(jì)算復(fù)雜度高。

SURF: 06 年提出,是 SIFT 的演進(jìn)版本,保持強(qiáng)表現(xiàn)能力的同時(shí)大大減少了計(jì)算量。

BRISK: BRIEF 的演進(jìn)版本,壓縮了特征的表示,提高了匹配速度。ORB: 以速度著稱,是 SURF 的演進(jìn)版本,多用于實(shí)時(shí)應(yīng)用。

GFTT: 最早提出的 Harris 角點(diǎn)的改進(jìn)版本,經(jīng)常合稱為 Harris-Shi-Tomasi 角點(diǎn)。

SimpleBlob: 使用 blob 的概念來抽取圖像中的特征點(diǎn),相對(duì)于角點(diǎn)的一種創(chuàng)新。FAST: 相比其他方法特征點(diǎn)數(shù)量最多,但也容易得到距離過近的點(diǎn),需要經(jīng)過 NMS。

Star: 最初用于視覺測(cè)距,后來也成為一種通用的特征點(diǎn)檢測(cè)方法。

我們這里使用的是SURF特征點(diǎn)檢測(cè)器

第一幀特特征點(diǎn)提取

最后一幀特征點(diǎn)提取

(3)在上圖中,我們發(fā)現(xiàn)所提取的特征點(diǎn)中部分來自于車身,由于車是運(yùn)動(dòng)的,所以我們不能使用,我們用第一幀與最后一幀做靜態(tài)特幀點(diǎn)匹配,生成靜態(tài)特征模板,在下圖中,我們發(fā)現(xiàn)只有所有的特征點(diǎn)只選取在靜態(tài)物上

靜態(tài)特征點(diǎn)模板

(4)靜態(tài)特征模板匹配 ,我們這里使用Flann算法,匹配結(jié)果如下

特征匹配

(5)使用匹配成功的兩組特征點(diǎn),估計(jì)兩幀之間的透視變換 (Perspective Transformation)。估計(jì)矩陣 H,其中 (x_i, y_i) 和 (x_i^′, y_i^′) 分別是兩幀的特征點(diǎn)。

第一幀

最后一幀對(duì)齊到第一幀

四、實(shí)現(xiàn)代碼

代碼基于python實(shí)現(xiàn),如下所示

import cv2import timeimport numpy as npimport os class Stable: # 處理視頻文件路徑 __video_path = None # surf 特征提取 __surf = { # surf算法 'surf': None, # 提取的特征點(diǎn) 'kp': None, # 描述符 'des': None, # 過濾后的特征模板 'template_kp': None } # capture __capture = { # 捕捉器 'cap': None, # 視頻大小 'size': None, # 視頻總幀 'frame_count': None, # 視頻幀率 'fps': None, 'video': None } # 配置 __config = { # 要保留的最佳特征的數(shù)量 'key_point_count': 5000, # Flann特征匹配 'index_params': dict(algorithm=0, trees=5), 'search_params': dict(checks=50), 'ratio': 0.5, 'frame_count': 9999 } # 當(dāng)前處理幀數(shù) __current_frame = 0 # 需要處理幀數(shù) __handle_count = 0 # 處理時(shí)間 __handle_timer = { 'init': 0, 'handle': 0, 'read': 0, 'key': 0, 'matrix': 0, 'flann': 0, 'perspective': 0, 'write': 0, 'other': 0, } # 幀隊(duì)列 __frame_queue = None # 需要寫入的幀隊(duì)列 __write_frame_queue = None # 特征提取列表 __surf_list = [] def __init__(self): pass # 初始化capture def __init_capture(self): self.__capture['cap'] = cv2.VideoCapture(self.__video_path) self.__capture['size'] = (int(self.__capture['cap'].get(cv2.CAP_PROP_FRAME_WIDTH)), int(self.__capture['cap'].get(cv2.CAP_PROP_FRAME_HEIGHT))) self.__capture['fps'] = self.__capture['cap'].get(cv2.CAP_PROP_FPS) self.__capture['video'] = cv2.VideoWriter(self.__video_path.replace('.', '_stable.'), cv2.VideoWriter_fourcc(*"mp4v"), self.__capture['fps'], self.__capture['size']) self.__capture['frame_count'] = int(self.__capture['cap'].get(cv2.CAP_PROP_FRAME_COUNT)) self.__handle_count = min(self.__config['frame_count'], self.__capture['frame_count']) # 初始化surf def __init_surf(self): st = time.time() self.__capture['cap'].set(cv2.CAP_PROP_POS_FRAMES, 0) state, first_frame = self.__capture['cap'].read() self.__capture['cap'].set(cv2.CAP_PROP_POS_FRAMES, self.__capture['frame_count'] - 20) state, last_frame = self.__capture['cap'].read() self.__surf['surf'] = cv2.xfeatures2d.SURF_create(self.__config['key_point_count'], 1, 1, 1, 1) # nfeatures:默認(rèn)為0,要保留的最佳特征的數(shù)量。特征按其分?jǐn)?shù)排名(在SIFT算法中按局部對(duì)比度排序) # nOctaveLayers:默認(rèn)為3,金字塔每組(Octave)有多少層。3是D. Lowe紙中使用的值。 # contrastThreshold:默認(rèn)為0.04,對(duì)比度閾值,用于濾除半均勻(低對(duì)比度)區(qū)域中的弱特征。閾值越大,檢測(cè)器產(chǎn)生的特征越少。 # edgeThreshold:默認(rèn)為10,用來過濾邊緣特征的閾值。注意,它的意思與contrastThreshold不同,edgeThreshold越大,濾出的特征越少(保留更多特征)。 # sigma:默認(rèn)為1.6,高斯金字塔中的σ。如果使用帶有軟鏡頭的弱相機(jī)拍攝圖像,則可能需要減少數(shù)量。 self.__surf['kp'], self.__surf['des'] = self.__surf['surf'].detectAndCompute(first_frame, None) kp, des = self.__surf['surf'].detectAndCompute(last_frame, None) # 快速臨近匹配 flann = cv2.FlannBasedMatcher(self.__config['index_params'], self.__config['search_params']) matches = flann.knnMatch(self.__surf['des'], des, k=2) good_match = [] for m, n in matches: if m.distance < self.__config['ratio'] * n.distance: good_match.append(m) self.__surf['template_kp'] = [] for f in good_match: self.__surf['template_kp'].append(self.__surf['kp'][f.queryIdx]) self.__capture['cap'].set(cv2.CAP_PROP_POS_FRAMES, 0) self.__handle_timer['init'] = int((time.time() - st) * 1000) print("[INFO] init time:{}ms".format(self.__handle_timer['init'])) # 初始化 隊(duì)列 def __init_data(self): pass # 初始化 def __init(self): self.__init_capture() self.__init_surf() self.__init_data() # 處理 def __process(self): self.__current_frame = 1 while True: if self.__current_frame > self.__handle_count: break start_time = time.time() # 抽幀 success, frame = self.__capture['cap'].read() self.__handle_timer['read'] = int((time.time() - start_time) * 1000) if not success: return # 計(jì)算 frame = self.detect_compute(frame) # 寫幀 st = time.time() self.__capture['video'].write(frame) self.__handle_timer['write'] = int((time.time() - st) * 1000) self.__handle_timer['handle'] = int((time.time() - start_time) * 1000) self.__current_frame += 1 self.print_handle_time() # 視頻穩(wěn)像 def stable(self, path): self.__video_path = path self.__init() self.__process() # 打印耗時(shí) def print_handle_time(self): print( "[INFO] handle frame:{}/{} time:{}ms(read:{}ms key:{}ms flann:{}ms matrix:{}ms perspective:{}ms write:{}ms)". format(self.__current_frame, self.__handle_count, self.__handle_timer['handle'], self.__handle_timer['read'], self.__handle_timer['key'], self.__handle_timer['flann'], self.__handle_timer['matrix'], self.__handle_timer['perspective'], self.__handle_timer['write'])) # 特征點(diǎn)提取 def detect_compute(self, frame): frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 計(jì)算特征點(diǎn) st = time.time() kp, des = self.__surf['surf'].detectAndCompute(frame_gray, None) self.__handle_timer['key'] = int((time.time() - st) * 1000) # 快速臨近匹配 st = time.time() flann = cv2.FlannBasedMatcher(self.__config['index_params'], self.__config['search_params']) matches = flann.knnMatch(self.__surf['des'], des, k=2) self.__handle_timer['flann'] = int((time.time() - st) * 1000) # 計(jì)算單應(yīng)性矩陣 st = time.time() good_match = [] for m, n in matches: if m.distance < self.__config['ratio'] * n.distance: good_match.append(m) p1, p2 = [], [] for f in good_match: # 存在與模板特征點(diǎn)中 if self.__surf['kp'][f.queryIdx] in self.__surf['template_kp']: p1.append(self.__surf['kp'][f.queryIdx].pt) p2.append(kp[f.trainIdx].pt) H, _ = cv2.findHomography(np.float32(p2), np.float32(p1), cv2.RHO) self.__handle_timer['matrix'] = int((time.time() - st) * 1000) # 透視變換 st = time.time() output_frame = cv2.warpPerspective(frame, H, self.__capture['size'], borderMode=cv2.BORDER_REPLICATE) self.__handle_timer['perspective'] = int((time.time() - st) * 1000) return output_frame s = Stable() s.stable('video/test10.mov')

五、效果展示

我們消抖后的視頻道路完全沒有晃動(dòng),但是在邊界有馬賽克一樣的東西,那是因?yàn)閳D片對(duì)齊后后出現(xiàn)黑邊,我們采用邊緣點(diǎn)重復(fù)來彌補(bǔ)黑邊。

消抖前

消抖后

六、效率優(yōu)化

目前的處理效率(原視頻尺寸3840*2160),我們可以看出主要時(shí)間是花費(fèi)在特征點(diǎn)(key)提取上。
可以采用異步處理+GPU提高計(jì)算效率

ae4ac39c-88ef-11eb-8b86-12bb97331649.png

處理效率

七、存在問題

目前存在的問題 還不能完全消除視頻中的所有抖動(dòng)

(1)尤其是對(duì)于原來的抖動(dòng)比較劇烈的視頻,目前只能去除大部分明顯抖動(dòng);

(2)由于畫面旋轉(zhuǎn)造成的邊緣畫面缺失,目前采取了復(fù)制邊緣點(diǎn) (replicate) 的操作,是否會(huì)對(duì)數(shù)據(jù)集的使用造成影響還需要進(jìn)行實(shí)驗(yàn)。

改進(jìn)思路

(1)對(duì)于抖動(dòng)問題,計(jì)劃通過調(diào)整關(guān)鍵點(diǎn)檢測(cè)器參數(shù)、盡可能過濾掉運(yùn)動(dòng)物體的特征點(diǎn)、調(diào)整特征點(diǎn)匹配參數(shù)來解決;

(2)對(duì)于邊緣畫面缺失問題,可以使用基于 CNN 的圖像修復(fù)算法,盡可能讓缺失的邊緣表現(xiàn)得更自然 后續(xù)進(jìn)一步增加運(yùn)動(dòng)平滑等算法,實(shí)現(xiàn)對(duì)整體運(yùn)動(dòng)的進(jìn)一步平滑。

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 檢測(cè)器
    +關(guān)注

    關(guān)注

    1

    文章

    932

    瀏覽量

    49946
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    5194

    瀏覽量

    135494
  • OpenCV
    +關(guān)注

    關(guān)注

    33

    文章

    652

    瀏覽量

    44803

原文標(biāo)題:基于opencv對(duì)高空拍攝視頻消抖處理

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MAX16054:高性能帶和 ±15kV ESD 保護(hù)的開關(guān)控制器

    MAX16054:高性能帶和 ±15kV ESD 保護(hù)的開關(guān)控制器 在電子產(chǎn)品設(shè)計(jì)中,開關(guān)控制器是常見且關(guān)鍵的組件。但如何處理開關(guān)抖動(dòng)以及靜電防護(hù),是工程師們常常面臨的難題。今天,我們就來詳細(xì)
    的頭像 發(fā)表于 02-09 17:30 ?269次閱讀

    經(jīng)典 PLC 程序(6) - 信號(hào)防

    在PLC程序中,信號(hào)防是一個(gè)非常重要的概念,用于處理由于機(jī)械開關(guān)觸點(diǎn)抖動(dòng)而產(chǎn)生的虛假信號(hào)。本文介紹一下用梯形圖、AWBlock和ST語(yǔ)言三種編程,實(shí)現(xiàn)信號(hào)防的控制邏輯。信號(hào)防在P
    的頭像 發(fā)表于 01-20 11:47 ?394次閱讀
    經(jīng)典 PLC 程序(6) - 信號(hào)防<b class='flag-5'>抖</b>

    沒有專利的opencv-python 版本

    視頻處理 視頻讀取/寫入、幀提取、運(yùn)動(dòng)檢測(cè)(背景差分) 繪圖功能 畫直線/矩形/圓、添加文字、標(biāo)注關(guān)鍵點(diǎn) 關(guān)鍵總結(jié): 對(duì) Python 3.13 來說,最優(yōu)選擇是安裝 opencv
    發(fā)表于 12-13 12:37

    晶臺(tái)KLH11LX系列丨施密特觸發(fā)器光耦在按鍵中的應(yīng)用

    在電子系統(tǒng)中,機(jī)械按鍵因機(jī)械結(jié)構(gòu)特性,在按下或釋放時(shí)會(huì)產(chǎn)生5-10ms的抖動(dòng)信號(hào),可能導(dǎo)致電路誤判。施密特觸發(fā)器光耦憑借其獨(dú)特的遲滯特性,成為硬件的核心器件,而晶臺(tái)推出的KLH11LX系列
    的頭像 發(fā)表于 12-06 09:04 ?475次閱讀
    晶臺(tái)KLH11LX系列丨施密特觸發(fā)器光耦在按鍵<b class='flag-5'>消</b><b class='flag-5'>抖</b>中的應(yīng)用

    硬件方案元件參數(shù)的計(jì)算方法

    硬件是通過電路設(shè)計(jì)消除機(jī)械開關(guān)(如按鍵、繼電器等)在閉合或斷開時(shí)產(chǎn)生的抖動(dòng)信號(hào)。以下是常見硬件方案及其元件參數(shù)計(jì)算方法: 1. RC濾波
    發(fā)表于 11-19 06:31

    索尼FCB-EV9520L——超級(jí)圖像防助力無人機(jī)穩(wěn)定拍攝

    ,影響最終效果。這時(shí),圖像防技術(shù)就顯得尤為關(guān)鍵。索尼FCB-EV9520L憑借其超級(jí)圖像防功能,為無人機(jī)拍攝提供了可靠的解決方案。 傳統(tǒng)的無人機(jī)拍攝,往往因?yàn)轱w行中的各種因素導(dǎo)致畫
    的頭像 發(fā)表于 10-20 15:23 ?319次閱讀

    【開發(fā)實(shí)例】基于GM-3568JHF開發(fā)板安裝OpenCV并使用視頻目標(biāo)跟蹤 ( CamShift)

    在計(jì)算機(jī)視覺領(lǐng)域,視頻目標(biāo)跟蹤是一個(gè)非常重要的任務(wù)。視頻目標(biāo)跟蹤廣泛應(yīng)用于監(jiān)控、自動(dòng)駕駛、人機(jī)交互等多個(gè)領(lǐng)域。OpenCV提供了多種目標(biāo)跟蹤算法,其中MeanShift和CamShift是兩種經(jīng)典且
    的頭像 發(fā)表于 09-02 08:04 ?797次閱讀
    【開發(fā)實(shí)例】基于GM-3568JHF開發(fā)板安裝<b class='flag-5'>OpenCV</b>并使用<b class='flag-5'>視頻</b>目標(biāo)跟蹤 ( CamShift)

    音電商 API 接口:音平臺(tái)電商活動(dòng)熱度實(shí)時(shí)監(jiān)測(cè)

    ? 音作為全球領(lǐng)先的短視頻平臺(tái),其電商業(yè)務(wù)近年來蓬勃發(fā)展,吸引了眾多商家和消費(fèi)者。實(shí)時(shí)監(jiān)測(cè)電商活動(dòng)熱度,對(duì)于商家優(yōu)化營(yíng)銷策略、平臺(tái)提升用戶體驗(yàn)至關(guān)重要。音電商 API 接口為開發(fā)者提供了高效
    的頭像 發(fā)表于 08-21 15:30 ?784次閱讀
    <b class='flag-5'>抖</b>音電商 API 接口:<b class='flag-5'>抖</b>音平臺(tái)電商活動(dòng)熱度實(shí)時(shí)監(jiān)測(cè)

    揭秘音電商 API,讓音小店粉絲增長(zhǎng)有跡可循

    ? 在當(dāng)今短視頻電商時(shí)代,音已成為商家必爭(zhēng)之地。但如何精準(zhǔn)追蹤粉絲增長(zhǎng),優(yōu)化營(yíng)銷策略?音電商 API(應(yīng)用程序接口)正是關(guān)鍵。它讓商家通過數(shù)據(jù)接口獲取店鋪核心指標(biāo),將粉絲增長(zhǎng)從“黑匣子”變?yōu)?/div>
    的頭像 發(fā)表于 08-20 15:46 ?844次閱讀
    揭秘<b class='flag-5'>抖</b>音電商 API,讓<b class='flag-5'>抖</b>音小店粉絲增長(zhǎng)有跡可循

    巧用音電商 API,精準(zhǔn)分析音商品種草效果

    ? 在當(dāng)今短視頻電商時(shí)代,音已成為品牌推廣的核心平臺(tái)。"種草"(即通過內(nèi)容激發(fā)用戶購(gòu)買欲望)效果直接影響商品銷售。然而,許多商家僅憑直覺評(píng)估推廣效果,導(dǎo)致資源浪費(fèi)。本文將介紹如何利用音電商
    的頭像 發(fā)表于 08-20 15:29 ?1161次閱讀
    巧用<b class='flag-5'>抖</b>音電商 API,精準(zhǔn)分析<b class='flag-5'>抖</b>音商品種草效果

    揭秘視頻詳情API:電商行業(yè)的制勝法寶與實(shí)時(shí)數(shù)據(jù)獲取的奧秘

    隨著社交媒體的普及和電商行業(yè)的快速發(fā)展,音等短視頻平臺(tái)已經(jīng)成為電商企業(yè)獲取用戶、推廣產(chǎn)品和了解市場(chǎng)趨勢(shì)的重要渠道。獲取[視頻詳情API]對(duì)于電商行業(yè)來說具有重要意義,它可以幫助企
    的頭像 發(fā)表于 08-14 15:47 ?716次閱讀
    揭秘<b class='flag-5'>抖</b>音<b class='flag-5'>視頻</b>詳情API:電商行業(yè)的制勝法寶與實(shí)時(shí)數(shù)據(jù)獲取的奧秘

    【GM-3568JHF開發(fā)板免費(fèi)體驗(yàn)】OpenCV 視頻目標(biāo)跟蹤 ( CamShift)

    一、基本理論 在計(jì)算機(jī)視覺領(lǐng)域,視頻目標(biāo)跟蹤是一個(gè)非常重要的任務(wù)。視頻目標(biāo)跟蹤廣泛應(yīng)用于監(jiān)控、自動(dòng)駕駛、人機(jī)交互等多個(gè)領(lǐng)域。OpenCV 提供了多種目標(biāo)跟蹤算法,其中 MeanShift
    發(fā)表于 08-09 13:19

    雙電機(jī)驅(qū)動(dòng)系統(tǒng)隙技術(shù)分析

    摘要: 雙電機(jī)驅(qū)動(dòng)系統(tǒng)是電力系統(tǒng)中重要的電機(jī)系統(tǒng),雙電機(jī)驅(qū)動(dòng)的隙技術(shù)是雙電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵技術(shù),雙電機(jī)驅(qū)動(dòng)系統(tǒng)能否實(shí)現(xiàn)正常運(yùn)行關(guān)鍵在于隙技術(shù)本身的水平。在人們對(duì)電機(jī)系統(tǒng)的要求越來越高的背景下
    發(fā)表于 06-19 11:01

    一次諧裝置與二次諧裝置區(qū)別、一次諧器與二次諧器的區(qū)別

    繞組,處理低電壓信號(hào)。 功能側(cè)重:一次諧器通過非線性電阻抑制鐵磁諧振,限制中性點(diǎn)位移電壓;二次諧器通過檢測(cè)諧振信號(hào)并觸發(fā)晶閘管短路阻尼電阻,動(dòng)態(tài)消除諧振。 適用場(chǎng)景:一次諧器
    的頭像 發(fā)表于 05-07 09:58 ?4289次閱讀
    一次<b class='flag-5'>消</b>諧裝置與二次<b class='flag-5'>消</b>諧裝置區(qū)別、一次<b class='flag-5'>消</b>諧器與二次<b class='flag-5'>消</b>諧器的區(qū)別

    如何用OpenCV的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--基于米爾NXP i.MX93開發(fā)板

    本文將介紹基于米爾電子MYD-LMX93開發(fā)板(米爾基于NXPi.MX93開發(fā)板)的基于OpenCV的人臉檢測(cè)方案測(cè)試。OpenCV提供了一個(gè)非常簡(jiǎn)單的接口,用于相機(jī)捕捉一個(gè)視頻(我用的電腦內(nèi)置
    的頭像 發(fā)表于 04-15 11:51 ?809次閱讀
    如何用<b class='flag-5'>OpenCV</b>的相機(jī)捕捉<b class='flag-5'>視頻</b>進(jìn)行人臉檢測(cè)--基于米爾NXP i.MX93開發(fā)板