最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python-OpenCV消除圖像中孤立的小區(qū)域操作

 更新時間:2020年07月05日 11:02:26   作者:xiaoxifei  
這篇文章主要介紹了使用Python-OpenCV消除圖像中孤立的小區(qū)域操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

之前一直使用Skimage中的形態(tài)學(xué)處理來進(jìn)行孤立小區(qū)域的去除,代碼如下

img = morphology.remove_small_objects(img, size)

img = morphology.remove_small_holes(img, size)

后面需要將相應(yīng)算法翻譯到C++環(huán)境中,而Skimage沒有對應(yīng)的C++版本,為了確保python算法和C++算法結(jié)果的一致性,需要進(jìn)行遷移,因而打算使用OpenCV來重寫去除孤立小區(qū)域的代碼。代碼如下:

 _,binary = cv2.threshold(img,0.1,1,cv2.THRESH_BINARY)
 image,contours,hierarch=cv2.findContours(binary,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)
 for i in range(len(contours)):
  area = cv2.contourArea(contours[i])
  if area < threshold:
   cv2.drawContours(image,[contours[i]],0,0,-1)

其中對于輸入圖像img首先使用閾值處理獲得二值化圖像,cv2.threshold表示進(jìn)行閾值二值化處理,0.1是設(shè)定的閾值(img是0-1圖像),1表示圖像中的最大值,cv2.THRESH_BINARY表示圖像處理的方法,在openCv中有如下記錄

然后使用findContours,用來獲得二值化圖像的輪廓信息,findContours中cv2.RETR_EXTERNAL是表示輪廓獲取方式,是表示內(nèi)圈的輪廓不需要進(jìn)行獲取,cv2.CHAIN_APPROX_NONE表示是輪廓曲線記錄的方式,CHAIN_APPROX_NONE表示記錄所有的輪廓點,具體的參數(shù)說明可以參看:

https://docs.opencv.org/3.0-beta/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=findcontours

然后,后面的contourArea是用來獲取輪廓所包圍的面積,threshold是面積閾值,當(dāng)小于該閾值時認(rèn)為是孤立小區(qū)域,需要去除

最后drawContours是對孤立小區(qū)域進(jìn)行去除的方式,去除操作比較簡單,就是往這些區(qū)域里面填充為0即可,drawContours的參量可參考如下:

https://docs.opencv.org/3.0-beta/modules/imgproc/doc/drawing_functions.html?highlight=drawcontours

這里,drawContours的第一個參量是輸入待處理圖像,第二個參量是將要處理的孤立區(qū)域輪廓Vector,第三個參量是表示輪廓的坐標(biāo),這里為0表示contours的第一個,第四個參量表示填充的數(shù)值,這里是integer的情況下則表明是灰度圖,填充為1,而最后一個參量為-1,是thickness,表明按照填充方式處理該輪廓圍繞的區(qū)域

示例如下:

以上這篇使用Python-OpenCV消除圖像中孤立的小區(qū)域操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Python 解壓縮文件

    詳解Python 解壓縮文件

    這篇文章主要介紹了Python 解壓縮文件,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • 關(guān)于python多重賦值的小問題

    關(guān)于python多重賦值的小問題

    這篇文章主要給大家介紹了關(guān)于python多重賦值的小問題,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python中利用Scipy包的SIFT方法進(jìn)行圖片識別的實例教程

    Python中利用Scipy包的SIFT方法進(jìn)行圖片識別的實例教程

    SIFT算法可以檢測圖片中的局部特征,算法原理相當(dāng)復(fù)雜...但是!Python強(qiáng)大的第三方包Scipy中帶有實現(xiàn)SIFT算法的SIFT方法,我們只要拿來用就可以了,下面就為大家?guī)鞵ython中利用Scipy包的SIFT方法進(jìn)行圖片識別的實例教程.
    2016-06-06
  • python 動態(tài)渲染 mysql 配置文件的示例

    python 動態(tài)渲染 mysql 配置文件的示例

    這篇文章主要介紹了python 動態(tài)渲染 mysql 配置文件的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • 關(guān)于Django外鍵賦值問題詳解

    關(guān)于Django外鍵賦值問題詳解

    這段時間用django 做程序用到了一對多的關(guān)系的操作,下面分享一些心得體會,這篇文章主要給大家介紹了關(guān)于Django外鍵賦值問題的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • Python tkinter制作單機(jī)五子棋游戲

    Python tkinter制作單機(jī)五子棋游戲

    這篇文章主要介紹了Python tkinter制作單機(jī)五子棋游戲,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Python 中開發(fā)pattern的string模板(template) 實例詳解

    Python 中開發(fā)pattern的string模板(template) 實例詳解

    這篇文章主要介紹了Python 中開發(fā)pattern的string模板(template) 實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • python編程Flask框架簡單使用教程

    python編程Flask框架簡單使用教程

    這篇文章主要為大家介紹了python編程中Flask框架簡單使用教程,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • Python使用日志模塊快速調(diào)試代碼并記錄異常信息

    Python使用日志模塊快速調(diào)試代碼并記錄異常信息

    本文詳細(xì)介紹了Python logging日志模塊的使用方法,包括如何在代碼中使用logging記錄調(diào)試信息、如何設(shè)置日志級別、如何記錄異常信息等。通過本文的指南,讀者可以快速學(xué)會如何使用logging模塊進(jìn)行調(diào)試,并保留有用的日志信息,便于后續(xù)排查問題和優(yōu)化代碼
    2023-04-04
  • 用Python中的__slots__緩存資源以節(jié)省內(nèi)存開銷的方法

    用Python中的__slots__緩存資源以節(jié)省內(nèi)存開銷的方法

    這篇文章主要介紹了用Python中的__slots__通過緩存資源的方式以節(jié)省內(nèi)存開銷的方法,且示例代碼非常簡單,需要的朋友可以參考下
    2015-04-04

最新評論

新巴尔虎右旗| 建阳市| 都安| 新民市| 灵石县| 定兴县| 同江市| 米林县| 江北区| 顺义区| 台中市| 扎兰屯市| 外汇| 龙山县| 买车| 安泽县| 乐昌市| 偏关县| 襄樊市| 福泉市| 友谊县| 嫩江县| 鱼台县| 灵山县| 建水县| 宜川县| 闵行区| 安平县| 油尖旺区| 张家川| 墨脱县| 邹城市| 安徽省| 朔州市| 乌鲁木齐县| 昭通市| 平南县| 长子县| 蛟河市| 剑阁县| 宝山区|