衡阳派盒市场营销有限公司

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

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

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

簡(jiǎn)述OpenCV中如何提取不規(guī)則ROI區(qū)域

新機(jī)器視覺 ? 來源:OpenCV學(xué)堂 ? 作者:OpenCV學(xué)堂 ? 2021-05-28 09:16 ? 次閱讀

什么是ROI

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

提取ROI區(qū)域

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

可以看出,mask的作用是可以 幫助我們提取各種不規(guī)則的區(qū)域。OpenCV中完成上述步驟操作只需要簡(jiǎn)單調(diào)用API函數(shù)bitwise_and即可。

于是另外一個(gè)問題也隨之而來,我們?cè)趺瓷蛇@樣mask區(qū)域,答案是在OpenCV中有兩種方法搞定Mask區(qū)域生成。

方法一:

通過手動(dòng)選擇,然后通過多邊形填充即可做到,代碼實(shí)現(xiàn)如下:

importcv2ascv importnumpyasnp src=cv.imread("D:/images/gc_test.png") cv.imshow("input",src) h,w,c=src.shape #手工繪制ROI區(qū)域 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) #根據(jù)mask,提取ROI區(qū)域 result=cv.bitwise_and(src,src,mask=mask) cv.imshow("result",result) cv.waitKey(0)

運(yùn)行效果如下:

方法二:

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

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

效果如下:

主要是分為三步

提取輪廓ROI

生成Mask區(qū)域

提取指定輪廓

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

實(shí)際應(yīng)用演示

最后看兩個(gè)在實(shí)際處理會(huì)用到mask實(shí)現(xiàn)ROI提取然后重新背景融合之后生成新圖像效果:

編輯:jq

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

    關(guān)注

    2

    文章

    1511

    瀏覽量

    62397
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4827

    瀏覽量

    69054
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41556
  • mask
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    2939

原文標(biāo)題:OpenCV中如何提取不規(guī)則ROI區(qū)域

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ADC3663測(cè)電阻兩段電壓,信號(hào)在5mV~100mV不規(guī)則波動(dòng), 可以測(cè)嗎?

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

    如何提取直流信號(hào)的交流分量?

    我想將直流功率回路電流的交流分量進(jìn)行采集并給微機(jī)處理,此交流分量在電路正常時(shí)候就是功率電源的紋波,當(dāng)電路發(fā)生故障時(shí)電路的交流分量會(huì)疊加一個(gè)200mV左右峰峰值的噪聲信號(hào)(無規(guī)律),請(qǐng)問我如何提取直流信號(hào)
    發(fā)表于 09-20 07:04

    簡(jiǎn)述MOS管的工作區(qū)域

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

    【龍芯2K0300蜂鳥板試用】5 搭建opencv開發(fā)環(huán)境

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

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

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

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

    OpenCV(Open Source Computer Vision Library)是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,提供了大量的圖像處理和計(jì)算機(jī)視覺相關(guān)的算法。以下是一些常見的OpenCV
    的頭像 發(fā)表于 07-16 10:40 ?1211次閱讀

    opencv-python和opencv一樣嗎

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

    opencv的主要功能有哪些

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

    什么是機(jī)器視覺opencv?它有哪些優(yōu)勢(shì)?

    機(jī)器視覺(Machine Vision)是一種利用計(jì)算機(jī)和圖像處理技術(shù)來模擬人類視覺系統(tǒng)的功能,實(shí)現(xiàn)對(duì)圖像的識(shí)別、分析和理解的技術(shù)。OpenCV(Open Source Computer
    的頭像 發(fā)表于 07-16 10:33 ?902次閱讀

    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 ?632次閱讀

    三維掃描產(chǎn)品外觀提取不規(guī)則外觀輪廓線輔助貼紙?jiān)O(shè)計(jì)方案

    三維掃描技術(shù)是集光學(xué)、機(jī)電和計(jì)算機(jī)技術(shù)于一體的高新無損檢測(cè)技術(shù)。CASAIM三維掃描設(shè)備,能夠?qū)?shí)物的空間外形、結(jié)構(gòu)乃至色彩進(jìn)行全方位的掃描,將復(fù)雜的立體信息快速轉(zhuǎn)換為計(jì)算機(jī)能直接處理的數(shù)字信號(hào)。這一技術(shù)能夠精確地獲取物體表面的空間坐標(biāo),為實(shí)物提取輪廓線提供了快捷、精確及方便的手段。
    的頭像 發(fā)表于 06-11 15:58 ?310次閱讀
    三維掃描產(chǎn)品外觀<b class='flag-5'>提取</b><b class='flag-5'>不規(guī)則</b>外觀輪廓線輔助貼紙?jiān)O(shè)計(jì)方案

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

    在之前發(fā)布的文章探討了交叉編譯OpenCV并部署至嵌入式系統(tǒng)的方法。然而,在調(diào)試階段,我們發(fā)現(xiàn)在 Ubuntu 環(huán)境下將 OpenCV 編譯為 X86 架構(gòu)可能更加方便和高效。 通過在主機(jī)上編譯并
    發(fā)表于 06-07 09:32

    嵌入式學(xué)習(xí)-飛凌ElfBoard ELF 1板卡 - 如何在Ubuntu編譯OpenCV

    在之前發(fā)布的文章探討了交叉編譯OpenCV并部署至嵌入式系統(tǒng)的方法。然而,在調(diào)試階段,我們發(fā)現(xiàn)在 Ubuntu 環(huán)境下將 OpenCV 編譯為 X86 架構(gòu)可能更加方便和高效。 通過在主機(jī)上編譯并
    發(fā)表于 06-07 09:21

    ELF 1技術(shù)貼|如何在Ubuntu編譯OpenCV

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

    請(qǐng)問STM32_ImageProcessingLibrary中有類似于opencv的findContours函數(shù)嗎?

    STM32_ImageProcessingLibrary中有類似于opencv的findContours函數(shù)嗎?
    發(fā)表于 03-07 07:17
    网上的百家乐官网怎么才能赢 | 百家乐官网投注技巧建议| 百家乐怎么稳赢| 沙龙百家乐官网怎申请| 百家乐庄闲和收益| 正品百家乐官网游戏| 玩百家乐的好处| 百家乐官网投注注技巧| 百家乐官网平六亿财富网 | 玩百家乐游戏经验| 百家乐官网游戏机压法| 水果机器| 百家乐官网刷钱| 百家乐官网是真的吗| 威尼斯人娱乐城首选金杯娱乐城 | 网上博彩娱乐| 百家乐视频游365| 百家乐官网足球投注网哪个平台网址测速最好 | 必博百家乐游戏| 真人百家乐官网什么平台| 百乐彩| 百家乐发牌靴8| 百家乐官网黏土筹码| 百家乐官网知敌便能制胜| 乐利来国际| 百家乐看图赢| 赌百家乐的体会| 百家乐官网可以破解吗| 大发888娱乐城真钱游戏| 新加坡百家乐的玩法技巧和规则| 百家乐官网倍投软件| 百家乐官网什么牌最大| 瑞博网站| 大发888在线充值| 百家乐偷吗| 百家乐有多少局| 百家乐官网大路小路三珠路| 百家乐官网庄闲当哪个好| 六合彩150期开奖结果| 大发888手机版下载安| 棋牌乐|