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

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

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

3天內不再提示

簡述OpenCV中如何提取不規則ROI區域

新機器視覺 ? 來源:OpenCV學堂 ? 作者:OpenCV學堂 ? 2021-05-28 09:16 ? 次閱讀

什么是ROI

ROI是英文Region Of Interest的三個首字母縮寫,很多時候我們對圖像的分析就是對圖像特定ROI的分析與理解,對細胞與醫療圖像來說,ROI提取正確才可以進行后續的分析、測量、計算密度等,而且這些ROI區域往往不是矩形區域,一般都是不規則的多邊形區域,很多OpenCV初學者都不知道如何提取這些不規則的ROI區域。其實OpenCV中有個非常方便的API函數可以快速提取各種非正常的ROI區域。

提取ROI區域

在做這個之前,首先來了解一下什么圖像處理中的mask(遮罩),OpenCV中是如此定義Mask的:八位單通道的Mat對象,每個像素點值為零或者非零區域。當Mask對象添加到圖像區上時,只有非零的區域是可見,Mask中所有像素值為零與圖像重疊的區域就會不可見,也就是說Mask區域的形狀與大小直接決定了你看到最終圖像的大小與形狀。一個具體的示例如下:

可以看出,mask的作用是可以 幫助我們提取各種不規則的區域。OpenCV中完成上述步驟操作只需要簡單調用API函數bitwise_and即可。

于是另外一個問題也隨之而來,我們怎么生成這樣mask區域,答案是在OpenCV中有兩種方法搞定Mask區域生成。

方法一:

通過手動選擇,然后通過多邊形填充即可做到,代碼實現如下:

importcv2ascv importnumpyasnp src=cv.imread("D:/images/gc_test.png") cv.imshow("input",src) h,w,c=src.shape #手工繪制ROI區域 mask=np.zeros((h,w),dtype=np.uint8) x_data=np.array([124,169,208,285,307,260,175]) y_data=np.array([205,124,135,173,216,311,309]) pts=np.vstack((x_data,y_data)).astype(np.int32).T cv.fillPoly(mask,[pts],(255),8,0) cv.imshow("mask",mask) #根據mask,提取ROI區域 result=cv.bitwise_and(src,src,mask=mask) cv.imshow("result",result) cv.waitKey(0)

運行效果如下:

方法二:

這個也是OpenCV新手最迷茫的地方,如何通過程序生成mask,其實真的很簡單。看代碼演示吧!

src=cv.imread("D:/images/gc_test.png") cv.imshow("input",src) #生成mask區域 hsv=cv.cvtColor(src,cv.COLOR_BGR2HSV) mask=cv.inRange(hsv,(156,43,46),(180,255,255)) cv.imshow("mask",mask) #提取ROI區域,根據mask result=cv.bitwise_and(src,src,mask=mask) cv.imshow("result",result) cv.waitKey(0)

效果如下:

主要是分為三步

提取輪廓ROI

生成Mask區域

提取指定輪廓

特別需要注意的是->其中生成Mask可以根據輪廓、二值化連通組件分析、inRange等處理方法得到。這里基于inRange方式得到mask區域,然后提取。

實際應用演示

最后看兩個在實際處理會用到mask實現ROI提取然后重新背景融合之后生成新圖像效果:

編輯:jq

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

    關注

    2

    文章

    1510

    瀏覽量

    62325
  • 代碼
    +關注

    關注

    30

    文章

    4823

    瀏覽量

    68935
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41486
  • mask
    +關注

    關注

    0

    文章

    10

    瀏覽量

    2925

原文標題:OpenCV中如何提取不規則ROI區域

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ADC3663測電阻兩段電壓,信號在5mV~100mV不規則波動, 可以測嗎?

    ADC3663是差分輸入,我的測試需求是這樣的,可以使用嗎 1. 電源的電壓信號,比如在1V附近不規則變化. 那可以INP端接電源,INM接地嗎 2. 測電阻兩段電壓,信號在5mV~100mV不規則波動, 可以測嗎?
    發表于 11-22 09:48

    如何提取直流信號的交流分量?

    我想將直流功率回路電流的交流分量進行采集并給微機處理,此交流分量在電路正常時候就是功率電源的紋波,當電路發生故障時電路的交流分量會疊加一個200mV左右峰峰值的噪聲信號(無規律),請問我如何提取直流信號
    發表于 09-20 07:04

    簡述MOS管的工作區域

    MOS管(Metal-Oxide-Semiconductor Field-Effect Transistor,金屬-氧化物半導體場效應晶體管)是電子電路中廣泛使用的元件,具有三個主要的工作區域:截止
    的頭像 發表于 09-14 17:10 ?4984次閱讀

    【龍芯2K0300蜂鳥板試用】5 搭建opencv開發環境

    在官方提供的buildroot根文件系統,不支持opencv庫,故需要自己增加,另外,在本地編譯的時候,需要在本地(ubuntu)上安裝對應opencv庫,這樣才能將編譯好的鏡像放到板子上跑起來
    發表于 08-27 15:08

    OpenCV圖像識別C++代碼

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

    opencv圖像識別有什么算法

    OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,提供了大量的圖像處理和計算機視覺相關的算法。以下是一些常見的OpenCV
    的頭像 發表于 07-16 10:40 ?1167次閱讀

    opencv-python和opencv一樣嗎

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

    opencv的主要功能有哪些

    OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺庫,提供了大量的計算機視覺算法和工具。以下是OpenCV的主要功能: 圖像處理
    的頭像 發表于 07-16 10:35 ?1718次閱讀

    什么是機器視覺opencv?它有哪些優勢?

    機器視覺(Machine Vision)是一種利用計算機和圖像處理技術來模擬人類視覺系統的功能,實現對圖像的識別、分析和理解的技術。OpenCV(Open Source Computer
    的頭像 發表于 07-16 10:33 ?883次閱讀

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

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

    三維掃描產品外觀提取不規則外觀輪廓線輔助貼紙設計方案

    三維掃描技術是集光學、機電和計算機技術于一體的高新無損檢測技術。CASAIM三維掃描設備,能夠對實物的空間外形、結構乃至色彩進行全方位的掃描,將復雜的立體信息快速轉換為計算機能直接處理的數字信號。這一技術能夠精確地獲取物體表面的空間坐標,為實物提取輪廓線提供了快捷、精確及方便的手段。
    的頭像 發表于 06-11 15:58 ?304次閱讀
    三維掃描產品外觀<b class='flag-5'>提取</b><b class='flag-5'>不規則</b>外觀輪廓線輔助貼紙設計方案

    I.MX6ULL-飛凌 ElfBoard ELF1板卡 - 如何在Ubuntu編譯OpenCV庫(X86架構)

    在之前發布的文章探討了交叉編譯OpenCV并部署至嵌入式系統的方法。然而,在調試階段,我們發現在 Ubuntu 環境下將 OpenCV 編譯為 X86 架構可能更加方便和高效。 通過在主機上編譯并
    發表于 06-07 09:32

    嵌入式學習-飛凌ElfBoard ELF 1板卡 - 如何在Ubuntu編譯OpenCV

    在之前發布的文章探討了交叉編譯OpenCV并部署至嵌入式系統的方法。然而,在調試階段,我們發現在 Ubuntu 環境下將 OpenCV 編譯為 X86 架構可能更加方便和高效。 通過在主機上編譯并
    發表于 06-07 09:21

    ELF 1技術貼|如何在Ubuntu編譯OpenCV

    在之前發布的文章探討了交叉編譯OpenCV并部署至嵌入式系統的方法。然而,在調試階段,我們發現在Ubuntu環境下將OpenCV編譯為X86架構可能更加方便和高效。通過在主機上編譯并使用X86架構
    的頭像 發表于 05-31 16:41 ?1203次閱讀
    ELF 1技術貼|如何在Ubuntu<b class='flag-5'>中</b>編譯<b class='flag-5'>OpenCV</b>庫

    請問STM32_ImageProcessingLibrary中有類似于opencv的findContours函數嗎?

    STM32_ImageProcessingLibrary中有類似于opencv的findContours函數嗎?
    發表于 03-07 07:17
    主站蜘蛛池模板: 免费边摸边吃奶边叫床视频gif | 免费网站色 | 免费在线看视频 | 日韩电影天堂网 | 六月婷婷激情综合 | 欧美大片一区 | 亚洲国产福利精品一区二区 | 精品久久看 | 亚洲视屏一区 | 人人草人人插 | 男人的j桶女人的j视频 | aaa在线观看视频高清视频 | 天天干天天综合 | 日本黄色免费 | 天天躁夜夜躁狠狠躁躁 | 黄色三级网站免费 | 美女三级网站 | 婷婷在线网站 | 1024手机最新手机在线 | 五月婷在线观看 | 视频二区在线观看 | 男人的天堂在线精品视频 | 久久久久久久综合狠狠综合 | 久久久久久国产精品免费 | 久久中文字幕一区二区三区 | 欧美69色| www午夜| 国产裸露片段精华合集链接 | 欧美成人看片一区二区三区 | 欧美高清激情毛片 | 91大神亚洲影视在线 | 天堂网在线最新版www | 国产成人亚洲综合a∨婷婷 国产成人一区二区三中文 国产成人一区二区在线不卡 | 久久精品国产免费中文 | 美女扒尿口给男人桶到爽 | 男女做视频网站免费观看 | 亚洲成人高清在线 | 亚洲国产午夜精品理论片的软件 | 成人看片免费无限观看视频 | 在线视频网址 | 中国成熟xxx视频 |