色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenCV中幾何形狀識別與測量

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

OpenCV中幾何形狀識別與測量

經常看到有學習OpenCV不久的人提問,如何識別一些簡單的幾何形狀與它們的顏色,其實通過OpenCV的輪廓發現與幾何分析相關的函數,只需不到100行的代碼就可以很好的實現這些簡單幾何形狀識別與對象測量相關操作。本文就會演示給大家如何通過OpenCV 輪廓發現與幾何分析相關函數實現如下功能:

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

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

提取幾何形狀的顏色

在具體代碼實現與程序演示之前,我們先要搞清楚一些概念。

一:基本概念與函數介紹

1. 輪廓(contours)

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

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

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

- mode 返回輪廓的結構、可以是List、Tree、External

- method 輪廓點的編碼方式,基本是基于鏈式編碼

- contours 返回的輪廓集合

- hieracrchy 返回的輪廓層次關系

- offset 點是否有位移

2. 多邊形逼近

多邊形逼近,是通過對輪廓外形無限逼近,刪除非關鍵點、得到輪廓的關鍵點,不斷逼近輪廓真實形狀的方法,OpenCV中多邊形逼近的函數與參數解釋如下:

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

- curve 表示輸入的輪廓點集合

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

- close 是否閉合

3. 幾何距計算

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

moments(array, binaryImage=None)

- array表示指定輸入輪廓

- binaryImage默認為None

二:代碼實現與演示

基于輪廓發現與多邊形逼近、幾何距實現幾何形狀識別與對象測量,測量時候還用到另外兩個相關API分別是計算輪廓的周長與面積。具體用法在代碼中體現。整個代碼實現分為如下幾步完成: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.輪廓發現

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.幾何形狀識別

# 輪廓逼近

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.測量周長、面積、計算中心

# 求解中心位置

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)

# 計算面積與周長

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]) + ")"

運行顯示原圖如下:

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

分析結果:

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

控制臺輸出:

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 幾何
    +關注

    關注

    0

    文章

    37

    瀏覽量

    12474
  • 測量
    +關注

    關注

    10

    文章

    5104

    瀏覽量

    112804
  • OpenCV
    +關注

    關注

    31

    文章

    642

    瀏覽量

    42288

原文標題:OpenCV中幾何形狀識別與測量

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    PanDao:輸入形狀精度參數

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

    CMM三坐標測量機能測量的數據

    CMM三坐標測量機能夠測量的數據非常廣泛,包括但不限于:幾何元素數據:如點、線、面、圓、球、圓柱、圓錐等幾何元素的尺寸和形狀數據。這些數據可
    的頭像 發表于 03-21 18:49 ?379次閱讀
    CMM三坐標<b class='flag-5'>測量</b>機能<b class='flag-5'>測量</b>的數據

    精密幾何測量技術在電子芯片制造的重要性

    精密幾何測量技術在電子芯片制造具有極其重要的地位,主要體現在以下幾個方面:1、確保芯片性能-晶體管性能優化:在芯片中,晶體管的尺寸和結構對其性能至關重要。通過精密幾何
    的頭像 發表于 02-28 14:23 ?313次閱讀
    精密<b class='flag-5'>幾何</b><b class='flag-5'>測量</b>技術在電子芯片制造<b class='flag-5'>中</b>的重要性

    如何用OpenCV進行手勢識別--基于米爾全志T527開發板

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

    【AI實戰項目】基于OpenCV的“顏色識別項目”完整操作過程

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

    OpenCV圖像識別C++代碼

    安裝OpenCV庫 首先,您需要在您的計算機上安裝OpenCV庫。您可以從OpenCV官網下載預編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項目中。
    的頭像 發表于 07-16 10:42 ?3545次閱讀

    opencv圖像識別有什么算法

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

    opencv-python和opencv一樣嗎

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

    基于OpenCV的人臉識別系統設計

    基于OpenCV的人臉識別系統是一個復雜但功能強大的系統,廣泛應用于安全監控、人機交互、智能家居等多個領域。下面將詳細介紹基于OpenCV的人臉識別系統的基本原理、實現步驟,并附上具體
    的頭像 發表于 07-11 15:37 ?2.1w次閱讀

    精準測量第一步:如何選擇合適的幾何尺寸測量儀器?

    在現代工業和制造業幾何尺寸測量是確保產品質量和精度的關鍵環節。選擇合適的幾何尺寸測量儀器,不僅能提升
    的頭像 發表于 07-01 10:46 ?648次閱讀
    精準<b class='flag-5'>測量</b>第一步:如何選擇合適的<b class='flag-5'>幾何</b>尺寸<b class='flag-5'>測量</b>儀器?

    cmm三坐標測量儀精準掌握形狀與位置公差

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

    OpenCV攜奧比光3D相機亮相CVPR 2024

    6月17日-21日,奧比光合作伙伴OpenCV攜Orbbec 3D相機參展在美國西雅圖舉辦的CVPR 2024(即IEEE國際計算機視覺與模式識別會議),讓開發者親身體驗Orbbec 3D相機
    的頭像 發表于 06-21 09:38 ?824次閱讀

    機床的幾何精度什么和什么時是有區別的

    機床的幾何精度是指機床在加工過程,其各部件的幾何形狀和相互位置精度。它直接關系到機床的加工精度和加工質量。機床的幾何精度主要包括機床的直線
    的頭像 發表于 06-07 10:31 ?1906次閱讀

    三坐標測量機的“柔性”特點及其在工業的應用

    “柔性”是三坐標測量機在多種復雜測量任務中日益凸顯的優勢。不管是簡單的幾何形狀(如孔徑和距離)還是復雜的曲面和自由形狀,“柔性”三坐標
    的頭像 發表于 06-05 09:40 ?832次閱讀
    三坐標<b class='flag-5'>測量</b>機的“柔性”特點及其在工業<b class='flag-5'>中</b>的應用

    三坐標測量需要哪些基礎知識?

    三坐標測量(CoordinateMeasuringMachine,CMM)是一種利用測頭沿三個坐標軸移動來測量工件幾何尺寸和形狀的精密測量
    的頭像 發表于 05-17 09:51 ?3597次閱讀
    三坐標<b class='flag-5'>測量</b>需要哪些基礎知識?
    主站蜘蛛池模板: 中国hdxxxx医院护士 | 囯产免费久久久久久国产免费 | 超碰97人人做人人爱网站 | 免费精品一区二区三区在线观看 | 青青热久精品国产亚洲AV无码 | 玖玖爱精品视频 | 妖精视频免费高清观看 | 国产精品香蕉视频在线 | 影音先锋电影资源av | 最新亚洲中文字幕在线观看 | 国产精品久久久久久久久齐齐 | 97无码欧美熟妇人妻蜜 | 青草久久影院 | 黄色小说在线 | 亚洲精品青青草原avav久久qv | 伊人久久大香线蕉综合亚洲 | HEYZO无码中文字幕人妻 | 一级做a爰片久久毛片一 | 亚州日韩精品AV片无码中文 | 久久国产精品久久国产精品 | 禁漫H天堂免费A漫 | 欧美同志高清vivoeso | 毛片免费在线视频 | 青娱乐极品视觉盛宴av | 乱h好大噗嗤噗嗤烂了 | 国产欧美精品一区二区三区-老狼 | 野花香HD免费高清版6高清版 | 小sao货ji巴cao死你视频 | 国产精品VIDEOSSEX久久发布 | 亚洲AV精品乱码专区 | 欧美日韩精品一区二区三区四区 | 国产一区私人高清影院 | 久久草这里全是精品香蕉频线观 | 无羞耻肉动漫在线观看 | 欧美精品XXXXBBBB | 337p欧洲亚大胆精品 | 国产亚洲精品久久久闺蜜 | 亚洲国产精品久久又爽黄A片 | 吃寂寞寡妇的奶 | 国产无遮挡又黄又爽在线视频 | 国产品无码一区二区三区在线 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品