在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

OpenCV中幾何形狀識(shí)別與測(cè)量

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 作者:OpenCV學(xué)堂 ? 2022-06-02 15:31 ? 次閱讀

OpenCV中幾何形狀識(shí)別與測(cè)量

經(jīng)常看到有學(xué)習(xí)OpenCV不久的人提問,如何識(shí)別一些簡單的幾何形狀與它們的顏色,其實(shí)通過OpenCV的輪廓發(fā)現(xiàn)與幾何分析相關(guān)的函數(shù),只需不到100行的代碼就可以很好的實(shí)現(xiàn)這些簡單幾何形狀識(shí)別與對(duì)象測(cè)量相關(guān)操作。本文就會(huì)演示給大家如何通過OpenCV 輪廓發(fā)現(xiàn)與幾何分析相關(guān)函數(shù)實(shí)現(xiàn)如下功能:

幾何形狀識(shí)別(識(shí)別三角形、四邊形/矩形、多邊形、圓)

計(jì)算幾何形狀面積與周長、中心位置

提取幾何形狀的顏色

在具體代碼實(shí)現(xiàn)與程序演示之前,我們先要搞清楚一些概念。

一:基本概念與函數(shù)介紹

1. 輪廓(contours)

什么是輪廓,簡單說輪廓就是一些列點(diǎn)相連組成形狀、它們擁有同樣的顏色、輪廓發(fā)現(xiàn)在圖像的對(duì)象分析、對(duì)象檢測(cè)等方面是非常有用的工具,在OpenCV中使用輪廓發(fā)現(xiàn)相關(guān)函數(shù)時(shí)候要求輸入圖像是二值圖像,這樣便于輪廓提取、邊緣提取等操作。輪廓發(fā)現(xiàn)的函數(shù)與參數(shù)解釋如下:

findContours(image, mode, method, contours=None, hierarchy=None, offset=None)

- image輸入/輸出的二值圖像

- mode 返回輪廓的結(jié)構(gòu)、可以是List、Tree、External

- method 輪廓點(diǎn)的編碼方式,基本是基于鏈?zhǔn)骄幋a

- contours 返回的輪廓集合

- hieracrchy 返回的輪廓層次關(guān)系

- offset 點(diǎn)是否有位移

2. 多邊形逼近

多邊形逼近,是通過對(duì)輪廓外形無限逼近,刪除非關(guān)鍵點(diǎn)、得到輪廓的關(guān)鍵點(diǎn),不斷逼近輪廓真實(shí)形狀的方法,OpenCV中多邊形逼近的函數(shù)與參數(shù)解釋如下:

approxPolyDP(curve, epsilon, closed, approxCurve=None)

- curve 表示輸入的輪廓點(diǎn)集合

- epsilon 表示逼近曲率,越小表示相似逼近越厲害

- close 是否閉合

3. 幾何距計(jì)算

圖像幾何距是圖像的幾何特征,高階幾何距中心化之后具有特征不變性,可以產(chǎn)生Hu距輸出,用于形狀匹配等操作,這里我們通過計(jì)算一階幾何距得到指定輪廓的中心位置,計(jì)算幾何距的函數(shù)與參數(shù)解釋如下:

moments(array, binaryImage=None)

- array表示指定輸入輪廓

- binaryImage默認(rèn)為None

二:代碼實(shí)現(xiàn)與演示

基于輪廓發(fā)現(xiàn)與多邊形逼近、幾何距實(shí)現(xiàn)幾何形狀識(shí)別與對(duì)象測(cè)量,測(cè)量時(shí)候還用到另外兩個(gè)相關(guān)API分別是計(jì)算輪廓的周長與面積。具體用法在代碼中體現(xiàn)。整個(gè)代碼實(shí)現(xiàn)分為如下幾步完成:1.圖像二值化

# 二值化圖像

print("start to detect lines... ")

gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV | cv.THRESH_OTSU)

cv.imshow("input image", frame)

2.輪廓發(fā)現(xiàn)

out_binary, contours, hierarchy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)

for cnt in range(len(contours)):

# 提取與繪制輪廓

cv.drawContours(result, contours, cnt, (0, 255, 0), 2)

3.幾何形狀識(shí)別

# 輪廓逼近

epsilon = 0.01 * cv.arcLength(contours[cnt], True)

approx = cv.approxPolyDP(contours[cnt], epsilon, True)

# 分析幾何形狀

corners = len(approx)

shape_type = ""

if corners == 3:

count = self.shapes['triangle']

count = count+1

self.shapes['triangle'] = count

shape_type = "三角形"

if corners == 4:

count = self.shapes['rectangle']

count = count + 1

self.shapes['rectangle'] = count

shape_type = "矩形"

if corners >= 10:

count = self.shapes['circles']

count = count + 1

self.shapes['circles'] = count

shape_type = "圓形"

if 4 < corners < 10:

count = self.shapes['polygons']

count = count + 1

self.shapes['polygons'] = count

shape_type = "多邊形"

4.測(cè)量周長、面積、計(jì)算中心

# 求解中心位置

mm = cv.moments(contours[cnt])

cx = int(mm['m10'] / mm['m00'])

cy = int(mm['m01'] / mm['m00'])

cv.circle(result, (cx, cy), 3, (0, 0, 255), -1)

# 計(jì)算面積與周長

p = cv.arcLength(contours[cnt], True)

area = cv.contourArea(contours[cnt])

5.顏色提取

# 顏色分析

color = frame[cy][cx]

color_str = "(" + str(color[0]) + ", " + str(color[1]) + ", " + str(color[2]) + ")"

運(yùn)行顯示原圖如下:

a8ed07b0-e191-11ec-ba43-dac502259ad0.png

分析結(jié)果:

a923e762-e191-11ec-ba43-dac502259ad0.png

控制臺(tái)輸出:

a9471d18-e191-11ec-ba43-dac502259ad0.png

審核編輯 :李倩

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

    關(guān)注

    0

    文章

    37

    瀏覽量

    12494
  • 測(cè)量
    +關(guān)注

    關(guān)注

    10

    文章

    5175

    瀏覽量

    112942
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42446

原文標(biāo)題:OpenCV中幾何形狀識(shí)別與測(cè)量

文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    wafer晶圓幾何形貌測(cè)量系統(tǒng):厚度(THK)翹曲度(Warp)彎曲度(Bow)等數(shù)據(jù)測(cè)量

    在先進(jìn)制程,厚度(THK)翹曲度(Warp)彎曲度(Bow)三者共同決定了晶圓的幾何完整性,是良率提升和成本控制的核心參數(shù)。通過WD4000晶圓幾何形貌測(cè)量系統(tǒng)在線檢測(cè),可減少其對(duì)芯
    發(fā)表于 05-28 11:28 ?1次下載

    wafer晶圓幾何形貌測(cè)量系統(tǒng):厚度(THK)翹曲度(Warp)彎曲度(Bow)等數(shù)據(jù)測(cè)量

    在先進(jìn)制程,厚度(THK)翹曲度(Warp)彎曲度(Bow)三者共同決定了晶圓的幾何完整性,是良率提升和成本控制的核心參數(shù)。通過WD4000晶圓幾何形貌測(cè)量系統(tǒng)在線檢測(cè),可減少其對(duì)芯
    的頭像 發(fā)表于 05-23 14:27 ?294次閱讀
    wafer晶圓<b class='flag-5'>幾何</b>形貌<b class='flag-5'>測(cè)量</b>系統(tǒng):厚度(THK)翹曲度(Warp)彎曲度(Bow)等數(shù)據(jù)<b class='flag-5'>測(cè)量</b>

    PanDao:輸入形狀精度參數(shù)

    手工拋光制作測(cè)試板(T)進(jìn)行面形偏差測(cè)量的傳統(tǒng)技術(shù)(該檢測(cè)裝置也見于斐索干涉儀)。 被測(cè)表面(S)的面形誤差(表面高度H)是通過將表面的形狀與測(cè)試板(T)的標(biāo)準(zhǔn)形狀(通常精度<1/
    發(fā)表于 05-06 08:45

    CMM三坐標(biāo)測(cè)量機(jī)能測(cè)量的數(shù)據(jù)

    CMM三坐標(biāo)測(cè)量機(jī)能夠測(cè)量的數(shù)據(jù)非常廣泛,包括但不限于:幾何元素?cái)?shù)據(jù):如點(diǎn)、線、面、圓、球、圓柱、圓錐等幾何元素的尺寸和形狀數(shù)據(jù)。這些數(shù)據(jù)可
    的頭像 發(fā)表于 03-21 18:49 ?447次閱讀
    CMM三坐標(biāo)<b class='flag-5'>測(cè)量</b>機(jī)能<b class='flag-5'>測(cè)量</b>的數(shù)據(jù)

    精密幾何測(cè)量技術(shù)在電子芯片制造的重要性

    精密幾何測(cè)量技術(shù)在電子芯片制造具有極其重要的地位,主要體現(xiàn)在以下幾個(gè)方面:1、確保芯片性能-晶體管性能優(yōu)化:在芯片中,晶體管的尺寸和結(jié)構(gòu)對(duì)其性能至關(guān)重要。通過精密幾何
    的頭像 發(fā)表于 02-28 14:23 ?373次閱讀
    精密<b class='flag-5'>幾何</b><b class='flag-5'>測(cè)量</b>技術(shù)在電子芯片制造<b class='flag-5'>中</b>的重要性

    如何用OpenCV進(jìn)行手勢(shì)識(shí)別--基于米爾全志T527開發(fā)板

    本文將介紹基于米爾電子MYD-LT527開發(fā)板(米爾基于全志T527開發(fā)板)的OpenCV手勢(shì)識(shí)別方案測(cè)試。摘自優(yōu)秀創(chuàng)作者-小火苗米爾基于全志T527開發(fā)板一、軟件環(huán)境安裝1.安裝OpenCVsudoapt-getinstalllibopencv-devpython3-
    的頭像 發(fā)表于 12-13 08:04 ?1234次閱讀
    如何用<b class='flag-5'>OpenCV</b>進(jìn)行手勢(shì)<b class='flag-5'>識(shí)別</b>--基于米爾全志T527開發(fā)板

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

    適用于哪些場景,然后通過Python編寫代碼來實(shí)現(xiàn)這些算法,并應(yīng)用于實(shí)際項(xiàng)目中,實(shí)現(xiàn)圖像的檢測(cè)、識(shí)別、分類、定位、測(cè)量等目標(biāo)。華清遠(yuǎn)見【python+OpenCV
    的頭像 發(fā)表于 12-09 16:42 ?1237次閱讀
    【AI實(shí)戰(zhàn)項(xiàng)目】基于<b class='flag-5'>OpenCV</b>的“顏色<b class='flag-5'>識(shí)別</b>項(xiàng)目”完整操作過程

    復(fù)雜工件的高效測(cè)量方案:自動(dòng)化三坐標(biāo)測(cè)量與影像測(cè)量技術(shù)集成

    坐標(biāo)測(cè)量站的核心設(shè)備三坐標(biāo)測(cè)量機(jī)通過探針在X、Y、Z三個(gè)坐標(biāo)軸上的精確移動(dòng),實(shí)現(xiàn)物體幾何尺寸和形狀的微米級(jí)測(cè)量精度。
    的頭像 發(fā)表于 08-30 16:49 ?784次閱讀
    復(fù)雜工件的高效<b class='flag-5'>測(cè)量</b>方案:自動(dòng)化三坐標(biāo)<b class='flag-5'>測(cè)量</b>與影像<b class='flag-5'>測(cè)量</b>技術(shù)集成

    OpenCV圖像識(shí)別C++代碼

    安裝OpenCV庫 首先,您需要在您的計(jì)算機(jī)上安裝OpenCV庫。您可以從OpenCV官網(wǎng)下載預(yù)編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項(xiàng)目中。
    的頭像 發(fā)表于 07-16 10:42 ?3925次閱讀

    opencv圖像識(shí)別有什么算法

    圖像識(shí)別算法: 邊緣檢測(cè) :邊緣檢測(cè)是圖像識(shí)別的基本步驟之一,用于識(shí)別圖像的邊緣。常見的邊緣檢測(cè)算法有Canny邊緣檢測(cè)器、Sobel邊
    的頭像 發(fā)表于 07-16 10:40 ?1764次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV
    的頭像 發(fā)表于 07-16 10:38 ?1936次閱讀

    基于OpenCV的人臉識(shí)別系統(tǒng)設(shè)計(jì)

    基于OpenCV的人臉識(shí)別系統(tǒng)是一個(gè)復(fù)雜但功能強(qiáng)大的系統(tǒng),廣泛應(yīng)用于安全監(jiān)控、人機(jī)交互、智能家居等多個(gè)領(lǐng)域。下面將詳細(xì)介紹基于OpenCV的人臉識(shí)別系統(tǒng)的基本原理、實(shí)現(xiàn)步驟,并附上具體
    的頭像 發(fā)表于 07-11 15:37 ?2.4w次閱讀

    精準(zhǔn)測(cè)量第一步:如何選擇合適的幾何尺寸測(cè)量儀器?

    在現(xiàn)代工業(yè)和制造業(yè)幾何尺寸測(cè)量是確保產(chǎn)品質(zhì)量和精度的關(guān)鍵環(huán)節(jié)。選擇合適的幾何尺寸測(cè)量儀器,不僅能提升
    的頭像 發(fā)表于 07-01 10:46 ?693次閱讀
    精準(zhǔn)<b class='flag-5'>測(cè)量</b>第一步:如何選擇合適的<b class='flag-5'>幾何</b>尺寸<b class='flag-5'>測(cè)量</b>儀器?

    cmm三坐標(biāo)測(cè)量儀精準(zhǔn)掌握形狀與位置公差

    三本精密儀器講解蔡司三坐標(biāo)測(cè)量機(jī)精準(zhǔn)掌握形狀與位置公差一、了解基本概念在深入使用Calypso軟件之前,明確幾個(gè)關(guān)鍵術(shù)語是非常重要的。形位公差涉及零件的形狀及其相對(duì)于其他特征的位置。Calypso
    的頭像 發(fā)表于 06-25 15:09 ?1231次閱讀
    cmm三坐標(biāo)<b class='flag-5'>測(cè)量</b>儀精準(zhǔn)掌握<b class='flag-5'>形狀</b>與位置公差

    OpenCV攜奧比光3D相機(jī)亮相CVPR 2024

    6月17日-21日,奧比光合作伙伴OpenCV攜Orbbec 3D相機(jī)參展在美國西雅圖舉辦的CVPR 2024(即IEEE國際計(jì)算機(jī)視覺與模式識(shí)別會(huì)議),讓開發(fā)者親身體驗(yàn)Orbbec 3D相機(jī)
    的頭像 發(fā)表于 06-21 09:38 ?920次閱讀
    主站蜘蛛池模板: 一本到卡二卡三卡免费高 | 国产在线精品一区二区夜色 | 三级在线观看网站 | 欧美色丁香 | 国产一级特黄aa级特黄裸毛片 | 天天噜噜日日噜噜久久综合网 | 2021国产精品自在拍在线播放 | 免费网址视频在线看 | 好硬好大好爽女房东在线观看 | 国产亚洲一区二区三区啪 | 欧美三级中文字幕hd | 嗯好舒服好爽好快好大 | 国产精品久线观看视频 | 日日拍拍 | 日本三级香港三级人妇 m | 一级特黄aa大片免费播放视频 | 亚洲理论在线 | 朋友夫妇和交换性bd高清 | 成 人 a v黄 色 | 一级特黄aa大片免费 | 国产自在自线午夜精品视频 | 国产成人永久免费视频 | 人人人人干 | 天天欲色 | 免费视频网站在线看视频 | 干成人网 | 毛片毛片| wwwxxx亚洲| 深爱激情五月网 | 手机看片国产免费现在观看 | 国产精品嫩草影院一二三区 | 奇米久草 | 国产精品入口免费视频 | 在线不卡一区 | 69hdxxxx日本| 美女黄网站| 成人国产亚洲欧美成人综合网 | 国产精品色婷婷在线观看 | 夜夜爽天天操 | 在线观看日本一区 | www天堂在线观看 |