一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于OpenCV來(lái)實(shí)現(xiàn)對(duì)圖像中目標(biāo)對(duì)象檢測(cè)識(shí)別 以土地為例

新機(jī)器視覺(jué) ? 來(lái)源:http://yishuihancheng.blog.csd ? 作者:沂水寒城 ? 2020-11-23 16:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

OpenCV是一款非常強(qiáng)大的圖像處理工具,對(duì)于從事圖像處理領(lǐng)域相關(guān)工作的人來(lái)說(shuō)這個(gè)可以說(shuō)是必不可少的一項(xiàng)工具,用起來(lái)也很方面,下嗎是一段簡(jiǎn)單的介紹:

OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)機(jī)器學(xué)習(xí)軟件庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類(lèi)構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。OpenCV用C++語(yǔ)言編寫(xiě),它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要傾向于實(shí)時(shí)視覺(jué)應(yīng)用,并在可用時(shí)利用MMX和SSE指令, 如今也提供對(duì)于C#、Ch、Ruby,GO的支持。

OpenCV官網(wǎng)是https://opencv.org/,首頁(yè)截圖如下所示:

下面給出來(lái)幾個(gè)學(xué)習(xí)OpenCV的鏈接:

https://docs.opencv.org/master/d9/df8/tutorial_root.html https://docs.opencv.org/ https://www.zhihu.com/question/26881367我們今天的內(nèi)容主要是想基于OpenCV來(lái)實(shí)現(xiàn)對(duì)圖像中我們關(guān)注的一些目標(biāo)對(duì)象進(jìn)行檢測(cè)識(shí)別或者說(shuō)是對(duì)其存在的區(qū)域位置進(jìn)行挖掘,在開(kāi)始這篇文章之前,我曾經(jīng)看到了有人基于OpenCV實(shí)現(xiàn)了火焰或者是煙霧的檢測(cè),其實(shí)不管是類(lèi)似的物體的檢測(cè)也好不相關(guān)的物體識(shí)別檢測(cè)也好,很大程度是比較通用的做法都是基于像素來(lái)完成最終的計(jì)算的。 這里我們以生活中最為常見(jiàn)的土地來(lái)作為要識(shí)別檢測(cè)的目標(biāo)對(duì)象進(jìn)行實(shí)驗(yàn),先來(lái)看一張網(wǎng)上找到的圖片,如下所示:

接下來(lái)先看一下,最終的識(shí)別檢測(cè)效果:

從上面的結(jié)果來(lái)看,比較完全地檢測(cè)到了圖中出現(xiàn)的土地的區(qū)域,最終,我們采用外切矩形的方式完成了對(duì)其輪廓數(shù)據(jù)的確定。 接下來(lái),我們進(jìn)入正文,在實(shí)際去實(shí)踐之前,我們很有必要來(lái)了解一下幾種比較常用的顏色空間,簡(jiǎn)單總結(jié)匯總?cè)缦拢?/p>

RGB顏色空間: R:Red紅色 G:Green綠色 B:Blue藍(lán)色 HSV顏色空間: H:Hue色度 S:Saturation飽和度 V:Value亮度 HSI顏色空間: H:Hue色度 S:Saturation飽和度 I:Intensity強(qiáng)度本質(zhì)上來(lái)講,不同的物體不同的對(duì)象自身的像素范圍是不同的,在實(shí)際操作的時(shí)候基于像素區(qū)間可以過(guò)濾得到你所關(guān)注的對(duì)象,通常這樣的操作會(huì)在HSV空間中進(jìn)行,個(gè)人的理解是將原始的BGR或者是RGB的圖像轉(zhuǎn)化到HSV空間里面來(lái)確定目標(biāo)對(duì)象的像素區(qū)間更為容易,我實(shí)際測(cè)試過(guò),在RGB和BGR空間里面也是可以進(jìn)行計(jì)算的,只不過(guò)不如HSV空間,這里就不再多討論了,可以嘗試別的方式,本文用的是HSV空間進(jìn)行計(jì)算的。 最開(kāi)始的時(shí)候去確定目標(biāo)對(duì)象所處的像素空間是很笨拙的,主要是借助OpenCV和matplotlib實(shí)現(xiàn)的“人眼探索”,比較麻煩,后來(lái)在github社區(qū)里面找到了一個(gè)界面的實(shí)現(xiàn),覺(jué)得很不錯(cuò),就拿來(lái)用了,這里貼出來(lái)源碼實(shí)現(xiàn),如下所示:#!usr/bin/envpython #encoding:utf-8 from__future__importdivision ''' 功能:HSV空間圖片色素范圍查看器 ''' importcv2 importnumpyasnp defnothing(x): pass defcolorLooker(pic='1.png'): ''' HSV空間圖片色素范圍查看器 ''' #圖像加載 image=cv2.imread(pic) #窗口初始化 cv2.namedWindow('image',cv2.WINDOW_NORMAL) #創(chuàng)建拖動(dòng)條 #Opencv中Hue取值范圍是0-179 cv2.createTrackbar('HMin','image',0,179,nothing) cv2.createTrackbar('SMin','image',0,255,nothing) cv2.createTrackbar('VMin','image',0,255,nothing) cv2.createTrackbar('HMax','image',0,179,nothing) cv2.createTrackbar('SMax','image',0,255,nothing) cv2.createTrackbar('VMax','image',0,255,nothing) #設(shè)置默認(rèn)最大值 cv2.setTrackbarPos('HMax','image',179) cv2.setTrackbarPos('SMax','image',255) cv2.setTrackbarPos('VMax','image',255) #初始化設(shè)置 hMin=sMin=vMin=hMax=sMax=vMax=0 phMin=psMin=pvMin=phMax=psMax=pvMax=0 while(1): #實(shí)時(shí)獲取拖動(dòng)條上的值 hMin=cv2.getTrackbarPos('HMin','image') sMin=cv2.getTrackbarPos('SMin','image') vMin=cv2.getTrackbarPos('VMin','image') hMax=cv2.getTrackbarPos('HMax','image') sMax=cv2.getTrackbarPos('SMax','image') vMax=cv2.getTrackbarPos('VMax','image') #設(shè)定HSV的最大和最小值 lower=np.array([hMin,sMin,vMin]) upper=np.array([hMax,sMax,vMax]) #BGR和HSV顏色空間轉(zhuǎn)化處理 hsv=cv2.cvtColor(image,cv2.COLOR_BGR2HSV) mask=cv2.inRange(hsv,lower,upper) result=cv2.bitwise_and(image,image,mask=mask) #拖動(dòng)改變閾值的同時(shí),實(shí)時(shí)輸出調(diào)整的信息 if((phMin!=hMin)|(psMin!=sMin)|(pvMin!=vMin)|(phMax!=hMax)|(psMax!=sMax)|(pvMax!=vMax)): print("(hMin=%d,sMin=%d,vMin=%d),(hMax=%d,sMax=%d,vMax=%d)"%(hMin,sMin,vMin,hMax,sMax,vMax)) phMin=hMin psMin=sMin pvMin=vMin phMax=hMax psMax=sMax pvMax=vMax #展示由色素帶閾值范圍處理過(guò)的結(jié)果圖片 cv2.imshow('image',result) ifcv2.waitKey(10)&0xFF==ord('q'): break cv2.destroyAllWindows() if__name__=='__main__': colorLooker(pic='1.png') 啟動(dòng)后截圖如下所示:

借助界面中的拖動(dòng)條可以很方便地進(jìn)行調(diào)節(jié),看到實(shí)時(shí)處理后的結(jié)果圖片:

經(jīng)過(guò)調(diào)節(jié)后最終的結(jié)果如下所示:

調(diào)整拖動(dòng)條的同時(shí),終端窗口輸出如下所示:

到這里,我們已經(jīng)獲取到了所需要的各個(gè)維度的閾值數(shù)據(jù)了,就可以進(jìn)行后面的處理了。 接下來(lái)我們基于上述閾值來(lái)進(jìn)行區(qū)域挖掘計(jì)算,同樣使用上述的圖片,核心代碼實(shí)現(xiàn)如下所示:

img=Image.open('1.png') img=cv2.cvtColor(np.asarray(img),cv2.COLOR_RGB2BGR) frame=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) blur=cv2.GaussianBlur(frame,(21,21),0) hsv=cv2.cvtColor(blur,cv2.COLOR_BGR2HSV) h,w,way=img.shape total=h*w print('h:',h,'w:',w,'area:',total) #設(shè)置閾值數(shù)據(jù) lower=[8,67,84] upper=[85,255,255] lower=np.array(lower,dtype="uint8") upper=np.array(upper,dtype="uint8") mask=cv2.inRange(hsv,lower,upper) output=cv2.bitwise_and(hsv,hsv,mask=mask) count=cv2.countNonZero(mask) print('count:',count) now_ratio=round(int(count)/total,3) print('now_ratio:',now_ratio)

之后為了得到實(shí)際的輪廓區(qū)域,我們可以使用cv2.findContours方法來(lái)實(shí)現(xiàn)目標(biāo)對(duì)象的區(qū)域挖掘計(jì)算,核心代碼實(shí)現(xiàn)如下所示:gray=cv2.cvtColor(output,cv2.COLOR_BGR2GRAY) print('gray_shape:',gray.shape) ret,output=cv2.threshold(gray,127,255,cv2.THRESH_BINARY) ''' cv2.findContours:
在opencv中查找輪廓時(shí),物體應(yīng)該是白色而背景應(yīng)該是黑色 contours,hierarchy=cv2.findContours(image,mode,method) image:輸入圖像 mode:輪廓的模式。cv2.RETR_EXTERNAL只檢測(cè)外輪廓;cv2.RETR_LIST檢測(cè)的輪廓不建立等級(jí)關(guān)系;cv2.RETR_CCOMP建立兩個(gè)等級(jí)的輪廓,上一層為外邊界,內(nèi)層為內(nèi)孔的邊界。如果內(nèi)孔內(nèi)還有連通物體,則這個(gè)物體的邊界也在頂層;cv2.RETR_TREE建立一個(gè)等級(jí)樹(shù)結(jié)構(gòu)的輪廓。 method:輪廓的近似方法。cv2.CHAIN_APPROX_NOME存儲(chǔ)所有的輪廓點(diǎn),相鄰的兩個(gè)點(diǎn)的像素位置差不超過(guò)1;cv2.CHAIN_APPROX_SIMPLE壓縮水平方向、垂直方向、對(duì)角線方向的元素,只保留該方向的終點(diǎn)坐標(biāo),例如一個(gè)矩形輪廓只需要4個(gè)點(diǎn)來(lái)保存輪廓信息;cv2.CHAIN_APPROX_TC89_L1,cv2.CV_CHAIN_APPROX_TC89_KCOS contours:返回的輪廓 hierarchy:每條輪廓對(duì)應(yīng)的屬性 ''' contours,hierarchy=cv2.findContours(output,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) print('contours_num:',len(contours)) count_dict={} areas,lengths=0,0 foriinrange(len(contours)): one=contours[i] one_lk=one.tolist() iflen(one_lk)>=2: area=cv2.contourArea(one) length=cv2.arcLength(one,True) areas+=area lengths+=length left_list,right_list=[O[0][0]forOinone_lk],[O[0][1]forOinone_lk] minX,maxX,minY,maxY=min(left_list),max(left_list),min(right_list),max(right_list) A=abs(maxY-minY)*abs(maxX-minX) print('area:',area,'A:',A,'length:',length) count_dict[i]=[A,area,length,[minX,maxX,minY,maxY]] sorted_list=sorted(count_dict.items(),key=lambdae:e[1][0],reverse=True) print(sorted_list[:10]) result['value']=count_dict cv2.drawContours(img,contours,-1,(0,0,255),3)完成輪廓的挖掘計(jì)算后,我們借助于OpenCV實(shí)現(xiàn)可視化,結(jié)果如下所示:

可以看到:已經(jīng)大體上實(shí)現(xiàn)了我們所要的功能,但是美中不足的是里面有很多小的矩形框,這個(gè)是我們外切矩形設(shè)計(jì)的問(wèn)題,沒(méi)有考慮到過(guò)濾掉嵌套或者是包含的情況,所以這里就來(lái)處理一下:

ifsorted_list: filter_list=filterBox(sorted_list[:5]) forone_boxinfilter_list: print('one_box:',one_box) A,area,length,[minX,maxX,minY,maxY]=one_box cv2.rectangle(img,(minX,maxY),(maxX,minY),(0,255,0),3)此時(shí)的結(jié)果如下所示:

對(duì)應(yīng)的計(jì)算結(jié)果輸出如下所示:

('h:',336L,'w:',500L,'area:',168000L) ('count:',126387) ('now_ratio:',0.752) ('output_shape:',(336L,500L,3L)) ('gray_shape:',(336L,500L)) ('contours_num:',64) ('area:',0.0,'A:',2,'length:',4.828427076339722) ('area:',0.0,'A:',0,'length:',4.0) ('area:',29.0,'A:',44,'length:',27.313708186149597) ('area:',42.5,'A:',72,'length:',34.72792184352875) ('area:',0.5,'A:',6,'length:',9.071067690849304) ('area:',0.0,'A:',10,'length:',11.656854152679443) ('area:',0.0,'A:',1,'length:',2.8284270763397217) ('area:',0.0,'A:',2,'length:',4.828427076339722) ('area:',1.5,'A:',2,'length:',5.414213538169861) ('area:',16.5,'A:',36,'length:',27.55634891986847) ('area:',5.0,'A:',36,'length:',37.79898953437805) ('area:',1.5,'A:',3,'length:',8.242640614509583) ('area:',0.0,'A:',0,'length:',2.0) ('area:',2.0,'A:',2,'length:',6.0) ('area:',360.0,'A:',1026,'length:',206.93607211112976) ('area:',44.0,'A:',143,'length:',59.94112479686737) ('area:',0.0,'A:',1,'length:',2.8284270763397217) ('area:',0.0,'A:',1,'length:',2.8284270763397217) ('area:',33.5,'A:',60,'length:',30.38477599620819) ('area:',76.5,'A:',228,'length:',63.35533845424652) ('area:',320.0,'A:',792,'length:',166.9949471950531) ('area:',16.0,'A:',35,'length:',21.313708305358887) ('area:',0.0,'A:',8,'length:',10.828427076339722) ('area:',21.0,'A:',78,'length:',37.79898953437805) ('area:',0.0,'A:',1,'length:',2.8284270763397217) ('area:',0.0,'A:',2,'length:',4.828427076339722) ('area:',0.0,'A:',2,'length:',4.828427076339722) ('area:',3.5,'A:',25,'length:',20.727921843528748) ('area:',1.5,'A:',12,'length:',13.071067690849304) ('area:',51.0,'A:',121,'length:',53.94112491607666) ('area:',0.0,'A:',1,'length:',2.8284270763397217) ('area:',32.5,'A:',50,'length:',27.899494767189026) ('area:',309.5,'A:',722,'length:',96.32590079307556) ('area:',34.0,'A:',42,'length:',22.485281229019165) ('area:',80970.5,'A:',132699,'length:',2718.5739262104034) [(63,[132699,80970.5,2718.5739262104034,[1,498,67,334]]),(24,[1026,360.0,206.93607211112976,[33,60,281,319]]),(39,[792,320.0,166.9949471950531,[61,94,252,276]]),(61,[722,309.5,96.32590079307556,[384,422,75,94]]),(34,[228,76.5,63.35533845424652,[1,13,267,286]]),(25,[143,44.0,59.94112479686737,[68,81,280,291]]),(55,[121,51.0,53.94112491607666,[189,200,219,230]]),(47,[78,21.0,37.79898953437805,[100,113,235,241]]),(4,[72,42.5,34.72792184352875,[209,221,328,334]]),(32,[60,33.5,30.38477599620819,[15,25,274,280]])] ('one_box:',[132699,80970.5,2718.5739262104034,[1,498,67,334]])為了更加直觀地對(duì)比分析,我們將上面計(jì)算各個(gè)步驟中的對(duì)象數(shù)據(jù)進(jìn)行可視化,借助于matplotlib繪制在同一張圖上,結(jié)果如下所示:

左上角為原始圖片,右下角為最終處理得到的圖片,可以看到整個(gè)處理過(guò)程的變化。 到這里本文的內(nèi)容就結(jié)束了,學(xué)習(xí)依舊在路上,歡迎交流,互相學(xué)習(xí)!

作者:沂水寒城,CSDN博客專(zhuān)家,個(gè)人研究方向:機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、NLP、CV

Blog:http://yishuihancheng.blog.csdn.net

責(zé)任編輯:PSY

原文標(biāo)題:垃圾分類(lèi)的正確姿勢(shì)?用 OpenCV 人工智能圖像識(shí)別技術(shù)來(lái)進(jìn)行

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

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

    關(guān)注

    9

    文章

    527

    瀏覽量

    39120
  • 檢測(cè)識(shí)別
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7309
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42921

原文標(biāo)題:垃圾分類(lèi)的正確姿勢(shì)?用 OpenCV 人工智能圖像識(shí)別技術(shù)來(lái)進(jìn)行

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    【Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn)】SDK編譯、人臉檢測(cè)、OpenCV測(cè)試

    -mobile-test ./opencv-mobile-test 生成 200x200 尺寸的 out.jpg 圖像,即實(shí)現(xiàn)圖片壓縮。 該測(cè)試工程可結(jié)合物體識(shí)別模型,
    發(fā)表于 07-11 13:48

    基于LockAI視覺(jué)識(shí)別模塊:C++人臉識(shí)別

    基本知識(shí)講解 1.1 人臉識(shí)別簡(jiǎn)介 人臉識(shí)別是一種利用人的臉部特征進(jìn)行身份識(shí)別的生物識(shí)別技術(shù)。它通過(guò)檢測(cè)
    發(fā)表于 07-01 12:01

    基于LockAI視覺(jué)識(shí)別模塊:手寫(xiě)數(shù)字識(shí)別

    (input_mat); 作用:PaddleClas類(lèi)的一個(gè)函數(shù),用于實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別。 參數(shù)說(shuō)明: input_mat:要識(shí)別圖像。
    發(fā)表于 06-30 16:45

    基于LockAI視覺(jué)識(shí)別模塊:C++目標(biāo)檢測(cè)

    檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一個(gè)關(guān)鍵任務(wù),它不僅需要識(shí)別圖像存在哪些對(duì)象,還需要定位這些對(duì)象的位置
    發(fā)表于 06-06 14:43

    基于LockAI視覺(jué)識(shí)別模塊:C++條碼識(shí)別

    (input_mat); 作用:Code128Detector類(lèi)的一個(gè)函數(shù),用于實(shí)現(xiàn)條碼識(shí)別。 參數(shù)說(shuō)明: input_mat: 要識(shí)別圖像
    發(fā)表于 05-27 10:26

    基于LockAI視覺(jué)識(shí)別模塊:C++二維碼識(shí)別

    實(shí)現(xiàn)二維碼識(shí)別。 參數(shù)說(shuō)明: input_mat: 輸入?yún)?shù),類(lèi)型cv::Mat,表示要分析的輸入圖像。 返回值: 返回一個(gè)包含二維碼檢測(cè)
    發(fā)表于 05-26 09:57

    基于LockAI視覺(jué)識(shí)別模塊:C++輪廓檢測(cè)

    基本知識(shí)講解 1.1 圖像處理的重要性 目標(biāo)檢測(cè)圖像處理技術(shù)可以用于檢測(cè)圖像
    發(fā)表于 05-22 10:05

    基于LockAI視覺(jué)識(shí)別模塊:C++圖像的基本運(yùn)算

    圖像處理,理解圖像的基本操作是掌握計(jì)算機(jī)視覺(jué)技術(shù)的關(guān)鍵。本文章將介紹 基于LockAI視覺(jué)識(shí)別模塊下OpenCV
    發(fā)表于 05-06 16:56

    基于LockAI視覺(jué)識(shí)別模塊:C++圖像采集例程

    OpenCV 實(shí)現(xiàn)攝像頭模塊的視頻流讀取與圖像傳輸。核心步驟包括: 初始化攝像頭并設(shè)置分辨率; 打開(kāi)攝像頭并逐幀捕獲圖像; 使用 Edit 模塊進(jìn)行
    發(fā)表于 04-30 10:52

    AI模型部署邊緣設(shè)備的奇妙之旅:目標(biāo)檢測(cè)模型

    分類(lèi)任務(wù)是識(shí)別圖像主體內(nèi)容的是什么?的問(wèn)題,那么目標(biāo)檢測(cè)則是進(jìn)一步解答在哪里? 目標(biāo)
    發(fā)表于 12-19 14:33

    【AI實(shí)戰(zhàn)項(xiàng)目】基于OpenCV的“顏色識(shí)別項(xiàng)目”完整操作過(guò)程

    適用于哪些場(chǎng)景,然后通過(guò)Python編寫(xiě)代碼來(lái)實(shí)現(xiàn)這些算法,并應(yīng)用于實(shí)際項(xiàng)目中,實(shí)現(xiàn)圖像檢測(cè)識(shí)別
    的頭像 發(fā)表于 12-09 16:42 ?1425次閱讀
    【AI實(shí)戰(zhàn)項(xiàng)目】基于<b class='flag-5'>OpenCV</b>的“顏色<b class='flag-5'>識(shí)別</b>項(xiàng)目”完整操作過(guò)程

    一個(gè)月速成python+OpenCV圖像處理

    適用于哪些場(chǎng)景,然后通過(guò)Python編寫(xiě)代碼來(lái)實(shí)現(xiàn)這些算法,并應(yīng)用于實(shí)際項(xiàng)目中,實(shí)現(xiàn)圖像檢測(cè)、識(shí)別
    的頭像 發(fā)表于 11-29 18:27 ?464次閱讀
    一個(gè)月速成python+<b class='flag-5'>OpenCV</b><b class='flag-5'>圖像</b>處理

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

    的是Haar特征人臉檢測(cè),此外OpenCV還集成了深度學(xué)習(xí)方法來(lái)實(shí)現(xiàn)人臉檢測(cè)。 【參考資料】
    發(fā)表于 11-15 17:58

    手寫(xiě)圖像模板匹配算法在OpenCV實(shí)現(xiàn)

    OpenCV的模板匹配是支持基于NCC相似度查找的,但是不是很好用,一個(gè)主要的原因是查找最大閾值,只能匹配一個(gè),自己比對(duì)閾值,又導(dǎo)致無(wú)法正確設(shè)定閾值范圍,所以問(wèn)題很多。于是我重新寫(xiě)了純Python版本的NCC圖像模板匹配的代碼
    的頭像 發(fā)表于 11-11 10:12 ?773次閱讀
    手寫(xiě)<b class='flag-5'>圖像</b>模板匹配算法在<b class='flag-5'>OpenCV</b><b class='flag-5'>中</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    使用OpenVINO C# API部署YOLO-World實(shí)現(xiàn)實(shí)時(shí)開(kāi)放詞匯對(duì)象檢測(cè)

    YOLO-World是一個(gè)融合了實(shí)時(shí)目標(biāo)檢測(cè)與增強(qiáng)現(xiàn)實(shí)(AR)技術(shù)的創(chuàng)新平臺(tái),旨在將現(xiàn)實(shí)世界與數(shù)字世界無(wú)縫對(duì)接。該平臺(tái)YOLO(You Only Look Once)算法核心,
    的頭像 發(fā)表于 08-30 16:27 ?1706次閱讀
    使用OpenVINO C# API部署YOLO-World<b class='flag-5'>實(shí)現(xiàn)</b>實(shí)時(shí)開(kāi)放詞匯<b class='flag-5'>對(duì)象</b><b class='flag-5'>檢測(cè)</b>