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

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

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

OpenCV初學(xué)者如何提取這些不規(guī)則的ROI區(qū)域

新機器視覺 ? 來源:新機器視覺 ? 2023-10-31 14:51 ? 次閱讀

什么是ROI

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

提取ROI區(qū)域

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

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

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

方法一:

通過手動選擇,然后通過多邊形填充即可做到,代碼實現(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)

方法二:

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

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ū)域,然后提取。

編輯:黃飛

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

    關(guān)注

    27

    文章

    1315

    瀏覽量

    57156
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1531

    瀏覽量

    62801
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4355

    瀏覽量

    63319
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    636

    瀏覽量

    41815
  • ROI
    ROI
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    6307

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    如何對不規(guī)則ROI區(qū)域內(nèi)進行灰度值分析?

    `請問一下,我想提取一張圖片中一個不規(guī)則ROI區(qū)域,并對ROI內(nèi)部的灰度值進行分析,但是一定不能用RO
    發(fā)表于 10-29 13:49

    Visual Studio NET初學(xué)者教程

    Visual Studio NET初學(xué)者教程
    發(fā)表于 01-08 11:15 ?74次下載
    Visual Studio NET<b class='flag-5'>初學(xué)者</b>教程

    初學(xué)者之路—硬件學(xué)習(xí)經(jīng)驗

    初學(xué)者之路—硬件學(xué)習(xí)經(jīng)驗一文是一位搞硬件的在校研究生寫的,希望對那些初學(xué)者之路電腦網(wǎng)等處于迷茫的硬件初學(xué)者學(xué)習(xí)之路有所幫助!
    發(fā)表于 12-29 10:20 ?1.5w次閱讀

    電子初學(xué)者電路圖如何看

    電子初學(xué)者的指南,介紹了好些東西,都是最基礎(chǔ)的。適合于初學(xué)者
    發(fā)表于 11-23 12:05 ?0次下載

    從51初學(xué)者到電子工程師

    51初學(xué)者的學(xué)習(xí)指導(dǎo),對51初學(xué)者是個很好的入門教程,
    發(fā)表于 02-23 15:53 ?0次下載

    protel99初學(xué)者教程

    protel99初學(xué)者教程
    發(fā)表于 12-11 22:52 ?0次下載

    初學(xué)者的avr基礎(chǔ)教程

    初學(xué)者的avr基礎(chǔ)教程
    發(fā)表于 09-21 08:45 ?14次下載

    PSOC1初學(xué)者5個實驗,針對初學(xué)者的實驗

    PSOC1初學(xué)者5個實驗,針對初學(xué)者的實驗
    發(fā)表于 10-16 09:33 ?14次下載
    PSOC1<b class='flag-5'>初學(xué)者</b>5個實驗,針對<b class='flag-5'>初學(xué)者</b>的實驗

    linux初學(xué)者入門

    linux初學(xué)者入門
    發(fā)表于 10-27 14:34 ?14次下載
    linux<b class='flag-5'>初學(xué)者</b>入門

    Labview初學(xué)者常見問題及解答

    Labview初學(xué)者常見問題及解答。
    發(fā)表于 05-25 15:56 ?20次下載

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

    、測量、計算密度等,而且這些ROI區(qū)域往往不是矩形區(qū)域,一般都是不規(guī)則的多邊形區(qū)域,很多
    的頭像 發(fā)表于 05-28 09:16 ?2426次閱讀

    FPGA初學(xué)者必讀文檔

    FPGA初學(xué)者必讀文檔(嵌入式開發(fā)適合哪個城市)-FPGA初學(xué)者必讀文檔,為學(xué)習(xí)FPGA做好準(zhǔn)備。
    發(fā)表于 08-04 11:39 ?32次下載
    FPGA<b class='flag-5'>初學(xué)者</b>必讀文檔

    初學(xué)者的基本LED設(shè)置

    電子發(fā)燒友網(wǎng)站提供《初學(xué)者的基本LED設(shè)置.zip》資料免費下載
    發(fā)表于 11-22 10:14 ?3次下載
    <b class='flag-5'>初學(xué)者</b>的基本LED設(shè)置

    面向初學(xué)者的基本教程程序

    電子發(fā)燒友網(wǎng)站提供《面向初學(xué)者的基本教程程序.zip》資料免費下載
    發(fā)表于 12-19 11:25 ?6次下載
    面向<b class='flag-5'>初學(xué)者</b>的基本教程程序

    如何使用OpenCV和Python從圖像中提取感興趣區(qū)域

    今天我們將一起探究如何使用OpenCV和Python從圖像中提取感興趣區(qū)域ROI)。 在之間的文章中,我們完成了圖像邊緣提取,例
    的頭像 發(fā)表于 02-07 14:42 ?1967次閱讀