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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

OpenCV二值圖像分析

OpenCV學堂 ? 來源:OpenCV學堂 ? 作者:OpenCV學堂 ? 2023-10-20 12:25 ? 次閱讀

輪廓屬性

二值圖像分析最常見的一個主要方式就是輪廓發現輪廓分析,其中輪廓發現的目的是為輪廓分析做準備,經過輪廓分析我們可以得到輪廓各種有用的屬性信息、常見的如下:

輪廓面積

輪廓周長

輪廓幾何矩

輪廓的最小外接矩形

輪廓的最大外接矩形

輪廓的最小外接圓

輪廓的最小外接三角形

輪廓擬合(支持擬合直線、橢圓、圓)

輪廓的凸包

輪廓層次信息提取

多邊形逼近

計算歐拉數

函數介紹

OpenCV中提供大量輪廓分析函數,通過這些函數我們可以方便快捷的得到輪廓的各種有用屬性信息、高效完成各種二值圖像分析需求,下面是我總結的一些常用的函數列表與說明。

OpenCV中輪廓發現函數如下:

voidcv::findContours(
InputArrayimage,
OutputArrayOfArrayscontours,
OutputArrayhierarchy,
intmode,
intmethod,
Pointoffset=Point()
)

參數解釋如下:

image: 輸入圖像、八位單通道的,背景為黑色
contours: 得到的輪廓圖像
hierarchy: 層次圖像,根據需要提取輪廓層次信息
mode: 決定提取到層次信息內容,是多層還是單層
method: 每個輪廓的編碼信息
offset: 表示輪廓偏移,默認為0

輪廓分析相關的常用函數

//計算輪廓面積
doublecv::contourArea(
InputArraycontour,
booloriented=false
)
//計算輪廓周長
doublecv::arcLength(
InputArraycurve,
boolclosed
)
//計算幾何矩與中心距
Momentscv::moments(
InputArrayarray,
boolbinaryImage=false
)
//計算最小外接矩形
RotatedRectcv::minAreaRect(
InputArraypoints
)
//計算最大外接矩形
Rectcv::boundingRect(
InputArrayarray
)
//計算最小外接圓/擬合圓
voidcv::minEnclosingCircle(
InputArraypoints,
Point2f¢er,
float&radius
)
//計算最小外接三角形/擬合三角形
doublecv::minEnclosingTriangle(
InputArraypoints,
OutputArraytriangle
)
//擬合直線
voidcv::fitLine(
InputArraypoints,
OutputArrayline,
intdistType,
doubleparam,
doublereps,
doubleaeps
)
//擬合橢圓
RotatedRectcv::fitEllipse(
InputArraypoints
)
//計算凸包
voidcv::convexHull(
InputArraypoints,
OutputArrayhull,
boolclockwise=false,
boolreturnPoints=true
)
//多邊形逼近-逼近真實形狀
voidcv::approxPolyDP(
InputArraycurve,
OutputArrayapproxCurve,
doubleepsilon,
boolclosed
)

靈活使用上述輪廓屬性信息,可以實現對二值圖像的幾何形狀判別、測量、面積過濾、獲取每個對象的幾何屬性包括面積、周長、編碼點、形狀、層次/位置信息、歐拉數、中心位置、傾斜角度。

綜合運用代碼演示

2020年 以前我分享過一些綜合使用的例子,列表如下(都看過你就贏了):

二值圖像分析案例精選

OpenCV二值圖像案例分析精選 | 第二期

OpenCV輪廓層次分析實現歐拉數計算

OpenCV尋找復雜背景下物體的輪廓

如何識別出輪廓準確的長和寬

OpenCV中幾何形狀識別與測量

OpenCV中BLOB特征提取與幾何形狀分類

OpenCV直線擬合檢測

OpenCV中實現曲線與圓擬合

這里再分享一個硬幣計數的例子!

代碼如下:

//加載圖像
Matimg=imread("D:/CoinsB.png");
imshow("OriginalImage",img);

//閾值化操作
Matgray,binary;
cvtColor(img,gray,COLOR_BGR2GRAY);
floatt=threshold(gray,binary,0,255,THRESH_BINARY|THRESH_OTSU);
imshow("binary",binary);
imwrite("D:/binary1.png",binary);

//形態學操作
Matse=getStructuringElement(MORPH_RECT,Size(3,3));
morphologyEx(binary,binary,MORPH_OPEN,se,Point(-1,-1));

//輪廓發現
vectorhireachy;
vector>contours;
bitwise_not(binary,binary);
findContours(binary,contours,hireachy,RETR_EXTERNAL,CHAIN_APPROX_SIMPLE,Point());
Matresult=img.clone();
Point2fcenter;
floatradius;

//輪廓分析
for(size_tt=0;t

審核編輯:湯梓紅

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

    關注

    3

    文章

    4372

    瀏覽量

    64314
  • OpenCV
    +關注

    關注

    32

    文章

    642

    瀏覽量

    42493
  • 圖像分析
    +關注

    關注

    0

    文章

    82

    瀏覽量

    18887

原文標題:OpenCV | 二值圖像分析的技巧都在這里

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Vivado HLS實現OpenCV圖像處理的設計流程與分析

    本文通過對OpenCV圖像類型和函數處理方法的介紹,通過設計實例描述在vivadoHLS中調用OpenCV庫函數實現圖像處理的幾個基本步驟,完成從
    發表于 07-08 08:30

    使用opencv進行圖像處理

    使用opencv進行圖像處理_于仕琪,感興趣的可以看看。
    發表于 05-03 14:45 ?0次下載

    圖像對比度、亮度調整_《OpenCV3編程入門》書本配套源代碼

    OpenCV3編程入門》書本配套源代碼:圖像對比度、亮度調整
    發表于 06-06 15:39 ?2次下載

    圖像對比度、亮度調整_OpenCV3編程入門-源碼例程

    OpenCV3編程入門-源碼例程全集-圖像對比度、亮度調整,感興趣的小伙伴們可以瞧一瞧。
    發表于 09-18 16:55 ?2次下載

    opencv圖像去噪學習總結

    OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一個基于BSD許可(開源)發行的跨平臺計算機視覺庫,可以運行在Linux、Windows和Mac
    發表于 11-29 16:03 ?5.1w次閱讀

    圖像 FPGA腐蝕算法解析

    圖像的腐蝕算法過程中我們使用圖像3x3圖像
    發表于 03-21 11:14 ?5581次閱讀
    <b class='flag-5'>二</b><b class='flag-5'>值</b><b class='flag-5'>圖像</b> FPGA腐蝕算法解析

    如何才能提取圖像中的最大輪廓OpenCV程序免費下載

      本文檔的主要內容詳細介紹的是如何才能提取圖像中的最大輪廓OpenCV程序免費下載。
    發表于 10-10 16:49 ?3次下載
    如何才能提取<b class='flag-5'>二</b><b class='flag-5'>值</b><b class='flag-5'>圖像</b>中的最大輪廓<b class='flag-5'>OpenCV</b>程序免費下載

    如何使用OpenCV訪問Mat圖像中每個像素的

    本文檔的主要內容詳細介紹的是如何使用OpenCV訪問Mat圖像中每個像素的
    發表于 11-26 16:13 ?4次下載

    LabVIEW:如何顯示化后的圖像

    LabVIEW中常見的圖像預處理操作化的結果比較特殊,圖像實際上也是一種U8
    的頭像 發表于 12-06 09:40 ?1.1w次閱讀

    基于OpenCV擴展模塊與skimage包來提取中心線

    顯然OpenCV中常見的輪廓分析無法獲得上面的中心紅色線段,本質上這個問題是如何提取對象的骨架,提取骨架的方法在OpenCV的擴展模塊中
    的頭像 發表于 04-26 13:49 ?2195次閱讀

    基于OpenCV如何提取中心線

    問題 前幾天有個人問了我一個問題,問題是這樣的,他有如下的一張圖像: 怎么得到白色Blob中心線,他希望的效果如下: 顯然OpenCV中常見的輪廓
    的頭像 發表于 04-26 13:51 ?4077次閱讀

    OpenCV中實現了圖像形態學什么常見操作?

    圖像形態學是圖像處理的分支學科,在圖像處理中占有重要地位、OpenCV中實現了
    的頭像 發表于 05-27 14:11 ?1647次閱讀
    <b class='flag-5'>OpenCV</b>中實現了<b class='flag-5'>圖像</b>形態學什么常見操作?

    圖像分析最常見的方式

    圖像分析最常見的一個主要方式就是輪廓發現與輪廓分析,其中輪廓發現的目的是為輪廓分析做準備,經
    的頭像 發表于 08-12 10:45 ?1402次閱讀

    圖像分析的典型案例

    最近一直有人向我提問很多圖像分析相關的問題,特別選擇了兩個典型的輪廓分析問題。進行分析與編碼
    的頭像 發表于 12-06 10:54 ?737次閱讀

    圖像連通區域的標記原理

    圖像是一種由黑白兩色組成的圖像,其像素只有兩種可能,分別對應黑色和白色。在
    的頭像 發表于 01-05 14:28 ?1337次閱讀
    主站蜘蛛池模板: 清朝荒淫牲艳史在线播放 | 亚洲 欧美 日韩 丝袜 另类 | 天天综合天天色 | 拍拍拍成人免费高清视频 | 日本高清视频网站www | 亚洲一区欧美日韩 | 在线亚洲一区二区 | 狠狠干狠狠色 | 天天操丝袜 | 色婷婷视频在线观看 | 窝窝午夜看片成人精品 | 5g国产精品影院天天5g天天爽 | 色西西| 欧美一区二区三区在线 | 黄色短视频软件 | 小雪被撑暴黑人黑人与亚洲女人 | 五月婷婷在线免费观看 | 亚洲五月婷 | 欧美性色xo影院在线观看 | 亚洲综合色就色手机在线观看 | 亚州视频一区 | 天天干天天操天天添 | 午夜精品在线 | 亚洲最大成人网色 | 香蕉网影院在线观看免费 | 天天干天天操天天 | h视频在线看 | 伊人久久大杳蕉综合大象 | 夜夜操天天爽 | 日韩欧美伦理 | 激情 婷婷 | 五月天婷婷网站 | 一区二区三区伦理 | h小视频在线观看 | 国产二区三区毛片 | 人与牲动交xxxbbb | 日本加勒比在线视频 | 亚欧乱色束缚一区二区三区 | 67194最新网址| 日本黄视频网站 | 91九色麻豆 |