<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          (附代碼&解析)實(shí)戰(zhàn)|基于OpenCV的輪廓檢測(cè)項(xiàng)目

          共 2100字,需瀏覽 5分鐘

           ·

          2021-05-22 11:42

          全網(wǎng)搜集目標(biāo)檢測(cè)文章,人工篩選最優(yōu)價(jià)值知識(shí)

          編者薦語(yǔ)
          輪廓檢測(cè)指在包含目標(biāo)和背景的數(shù)字圖像中,忽略背景和目標(biāo)內(nèi)部的紋理以及噪聲干擾的影響,采用一定的技術(shù)和方法來(lái)實(shí)現(xiàn)目標(biāo)輪廓提取的過(guò)程。它是目標(biāo)檢測(cè)、形狀分析、目標(biāo)識(shí)別和目標(biāo)跟蹤等技術(shù)的重要基礎(chǔ)。

          利用輪廓檢測(cè)物體可以看到物體的各種顏色,在這種情況下放置在靜態(tài)和動(dòng)態(tài)物體上。如果是統(tǒng)計(jì)圖像,則需要將圖像加載到程序中,然后使用OpenCV庫(kù),以便跟蹤對(duì)象。
          每當(dāng)在框架中檢測(cè)到物體時(shí),都會(huì)為該物體繪制輪廓,該輪廓將代表物體的輪廓。下一步是找到對(duì)象的質(zhì)心,標(biāo)識(shí)找到影像矩所需的質(zhì)心坐標(biāo),圖像力矩是圖像像素強(qiáng)度的加權(quán)平均值。
          因此,我們考慮考慮輪廓內(nèi)的區(qū)域以找到圖像矩,如果輪廓中的圖像矩變?yōu)镸,則可以按以下方式計(jì)算質(zhì)心的坐標(biāo):

          cx = int(M ['m10'] / M ['m00'])
          cy = int(M ['m01'] / M ['m00'])

          獲得質(zhì)心點(diǎn)后,此質(zhì)心點(diǎn)將表示對(duì)象這樣就可以為與質(zhì)心相對(duì)應(yīng)的對(duì)象放置一個(gè)邊界框。本次實(shí)驗(yàn)我們將使用橙色作為對(duì)象,首先我們需要安裝打包的OpenCV和numpy軟件包。

          import cv2import numpy as np

          插入圖片使用“ cv2.imread()”:

          #Read Picturesimg = cv2.imread('jeruk.png')

          然后將RGB轉(zhuǎn)換為HSV并創(chuàng)建黃色(橙色為右黃色)顏色分割:

          #Convert RGB to HSVhsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)#Range of yellow color segmentation / classificationlower = np.array([20,100,100], dtype=np.uint8)upper = np.array([40,255,255], dtype=np.uint8)mask = cv2.inRange(hsv, lower, upper)kernel = np.ones((25,25),np.uint8)

          進(jìn)行對(duì)象像素的增厚,然后減小尺寸,以使對(duì)象像素彼此不靠近:

          # Thicken object pixelsdilation = cv2.dilate(mask,kernel,iterations = 1)# Minimized the object pixels so they're not stick togethererosion = cv2.erode(img,kernel,iterations = 1)

          找到橙色的輪廓和陣列:

          #Find Contourscontours, hierarchy = cv2.findContours(dilation,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)#Array Contourscontour = []

          然后將原始圖像復(fù)制到“ resultImg”變量:

          #copy the original image to "resultImg"resultImg = (img).copy()

          對(duì)輪廓進(jìn)行迭代:

          #Iterationfor i in range(len(contours)):        #amount contours to cnt variable        cnt = contours[i]        #Looking for radius to drau circle        (x,y),radius = cv2.minEnclosingCircle(cnt)        #circle center        center = (int(x),int(y))        if(int(radius) > 1):            contour.append(cnt)            #draw the circle            resultImg = cv2.circle(resultImg,center,int(radius,(255,0,0),3)

          最后一個(gè)階段,顯示檢測(cè)結(jié)果的輪廓:

          #displays resultscv2.imshow('image',resultImg)cv2.waitKey(0)cv2.destroyAllWindows()

          輸出結(jié)果:

          根據(jù)前面顯示的橙色檢測(cè)結(jié)果,可以通過(guò)輪廓檢測(cè)橙色,該輪廓由橙色對(duì)象上存在藍(lán)色圓圈標(biāo)記。


          ?------------------------------------------------


          雙一流高校研究生團(tuán)隊(duì)創(chuàng)建 ↓

          專(zhuān)注于目標(biāo)檢測(cè)原創(chuàng)并分享相關(guān)知識(shí) ?


          整理不易,點(diǎn)贊三連!

          瀏覽 95
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  豆花视频成人网 | 成人AV电影网 久久爱 | 先锋影音精品三级 | 五月丁香激情中文字幕 | 三级电影中文字幕 |