一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Python調(diào)用OpenCV實(shí)現(xiàn)圖像腐蝕案例

新機(jī)器視覺 ? 來源:CSDN ? 2023-12-20 10:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本篇文章主要講解Python調(diào)用OpenCV實(shí)現(xiàn)圖像腐蝕和圖像膨脹的算法,基礎(chǔ)性知識(shí)希望對(duì)您有所幫助。

1.基礎(chǔ)理論

2.圖像腐蝕代碼實(shí)現(xiàn)

3.圖像膨脹代碼實(shí)現(xiàn)

一. 基礎(chǔ)知識(shí)

(注:該部分參考作者論文《一種改進(jìn)的Sobel算子及區(qū)域擇優(yōu)的身份證智能識(shí)別方法》)

圖像的膨脹(Dilation)和腐蝕(Erosion)是兩種基本的形態(tài)學(xué)運(yùn)算,主要用來尋找圖像中的極大區(qū)域和極小區(qū)域。其中膨脹類似于“領(lǐng)域擴(kuò)張”,將圖像中的高亮區(qū)域或白色部分進(jìn)行擴(kuò)張,其運(yùn)行結(jié)果圖比原圖的高亮區(qū)域更大;腐蝕類似于“領(lǐng)域被蠶食”,將圖像中的高亮區(qū)域或白色部分進(jìn)行縮減細(xì)化,其運(yùn)行結(jié)果圖比原圖的高亮區(qū)域更小。

1.圖像膨脹

膨脹的運(yùn)算符是“⊕”,其定義如下:

ce3a27de-9eda-11ee-8b88-92fbcf53809c.png

該公式表示用B來對(duì)圖像A進(jìn)行膨脹處理,其中B是一個(gè)卷積模板或卷積核,其形狀可以為正方形或圓形,通過模板B與圖像A進(jìn)行卷積計(jì)算,掃描圖像中的每一個(gè)像素點(diǎn),用模板元素與二值圖像元素做“與”運(yùn)算,如果都為0,那么目標(biāo)像素點(diǎn)為0,否則為1。從而計(jì)算B覆蓋區(qū)域的像素點(diǎn)最大值,并用該值替換參考點(diǎn)的像素值實(shí)現(xiàn)膨脹。下圖是將左邊的原始圖像A膨脹處理為右邊的效果圖A⊕B。

ce4a0fa0-9eda-11ee-8b88-92fbcf53809c.jpg

2.圖像腐蝕

腐蝕的運(yùn)算符是“-”,其定義如下:

ce516e44-9eda-11ee-8b88-92fbcf53809c.png

該公式表示圖像A用卷積模板B來進(jìn)行腐蝕處理,通過模板B與圖像A進(jìn)行卷積計(jì)算,得出B覆蓋區(qū)域的像素點(diǎn)最小值,并用這個(gè)最小值來替代參考點(diǎn)的像素值。如圖所示,將左邊的原始圖像A腐蝕處理為右邊的效果圖A-B。

ce584a34-9eda-11ee-8b88-92fbcf53809c.jpg

處理結(jié)果如下圖所示:

ce6a2d62-9eda-11ee-8b88-92fbcf53809c.jpg

二. 圖像腐蝕代碼實(shí)現(xiàn)

1.基礎(chǔ)理論

形態(tài)學(xué)轉(zhuǎn)換主要針對(duì)的是二值圖像(0或1)。圖像腐蝕類似于“領(lǐng)域被蠶食”,將圖像中的高亮區(qū)域或白色部分進(jìn)行縮減細(xì)化,其運(yùn)行結(jié)果圖比原圖的高亮區(qū)域更小。其主要包括兩個(gè)輸入對(duì)象:

(1)二值圖像

(2)卷積核

卷積核是腐蝕中的關(guān)鍵數(shù)組,采用numpy庫可以生成。卷積核的中心點(diǎn)逐個(gè)像素掃描原始圖像,如下圖所示:

ce846240-9eda-11ee-8b88-92fbcf53809c.jpg

被掃描到的原始圖像中的像素點(diǎn),只有當(dāng)卷積核對(duì)應(yīng)的元素值均為1時(shí),其值才為1,否則其值修改為0。換句話說,遍歷到的黃色點(diǎn)位置,其周圍全部是白色,保留白色,否則變?yōu)楹谏瑘D像腐蝕變小。

ce92300a-9eda-11ee-8b88-92fbcf53809c.jpg

2.函數(shù)原型

圖像腐蝕主要使用的函數(shù)為erode,其原型如下:

dst = cv2.erode(src, kernel, iterations)

參數(shù)dst表示處理的結(jié)果,src表示原圖像,kernel表示卷積核,iterations表示迭代次數(shù)。下圖表示5*5的卷積核,可以采用函數(shù) np.ones((5,5), np.uint8) 構(gòu)建。

cea3083a-9eda-11ee-8b88-92fbcf53809c.jpg

注意:迭代次數(shù)默認(rèn)是1,表示進(jìn)行一次腐蝕,也可以根據(jù)需要進(jìn)行多次迭代,進(jìn)行多次腐蝕。

3.代碼實(shí)現(xiàn)

完整代碼如下所示:

ceb4fa22-9eda-11ee-8b88-92fbcf53809c.jpg

輸出結(jié)果如下圖所示:

cec83d8a-9eda-11ee-8b88-92fbcf53809c.jpg

由圖可見,干擾的細(xì)線被進(jìn)行了清洗,但仍然有些輪廓,此時(shí)可設(shè)置迭代次數(shù)進(jìn)行腐蝕。

erosion = cv2.erode(src, kernel,iterations=9)

輸出結(jié)果如下圖所示:

ced9656a-9eda-11ee-8b88-92fbcf53809c.png

三. 圖像膨脹代碼實(shí)現(xiàn)

1.基礎(chǔ)理論

圖像膨脹是腐蝕操作的逆操作,類似于“領(lǐng)域擴(kuò)張”,將圖像中的高亮區(qū)域或白色部分進(jìn)行擴(kuò)張,其運(yùn)行結(jié)果圖比原圖的高亮區(qū)域更大,線條變粗了,主要用于去噪。

(1) 圖像被腐蝕后,去除了噪聲,但是會(huì)壓縮圖像。

(2) 對(duì)腐蝕過的圖像,進(jìn)行膨脹處理,可以去除噪聲,并且保持原有形狀。

cee3dca2-9eda-11ee-8b88-92fbcf53809c.jpg

它也包括兩個(gè)輸入對(duì)象:

(1)二值圖像或原始圖像

(2)卷積核

卷積核是腐蝕中的關(guān)鍵數(shù)組,采用numpy庫可以生成。卷積核的中心點(diǎn)逐個(gè)像素掃描原始圖像,如下圖所示:

cef5d7ae-9eda-11ee-8b88-92fbcf53809c.jpg

被掃描到的原始圖像中的像素點(diǎn),當(dāng)卷積核對(duì)應(yīng)的元素值只要有一個(gè)為1時(shí),其值就為1,否則為0。

2.函數(shù)原型

圖像膨脹主要使用的函數(shù)為dilate,其原型如下:

dst = cv2.dilate(src, kernel, iterations)

參數(shù)dst表示處理的結(jié)果,src表示原圖像,kernel表示卷積核,iterations表示迭代次數(shù)。下圖表示5*5的卷積核,可以采用函數(shù) np.ones((5,5), np.uint8) 構(gòu)建。

cf05beb2-9eda-11ee-8b88-92fbcf53809c.jpg

注意:迭代次數(shù)默認(rèn)是1,表示進(jìn)行一次膨脹,也可以根據(jù)需要進(jìn)行多次迭代,進(jìn)行多次膨脹。通常進(jìn)行1次膨脹即可。

3.代碼實(shí)現(xiàn)

完整代碼如下所示:

cf152898-9eda-11ee-8b88-92fbcf53809c.jpg

輸出結(jié)果如下所示:

cf25ecf0-9eda-11ee-8b88-92fbcf53809c.jpg

圖像去噪通常需要先腐蝕后膨脹,這又稱為開運(yùn)算,下篇文章將詳細(xì)介紹。如下圖所示:

erosion = cv2.erode(src, kernel)

result = cv2.dilate(erosion, kernel)

cf41b908-9eda-11ee-8b88-92fbcf53809c.jpg

作者:Eastmount

審核編輯:黃飛

聲明:本文內(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)投訴
  • 圖像處理
    +關(guān)注

    關(guān)注

    27

    文章

    1329

    瀏覽量

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

    關(guān)注

    3

    文章

    4381

    瀏覽量

    64898
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86767

原文標(biāo)題:Python圖像處理:圖像腐蝕與圖像膨脹

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Python圖像處理:圖像腐蝕圖像膨脹

    為1。從而計(jì)算B覆蓋區(qū)域的像素點(diǎn)最大值,并用該值替換參考點(diǎn)的像素值實(shí)現(xiàn)膨脹。下圖是將左邊的原始圖像A膨脹處理為右邊的效果圖A⊕B。 2.圖像腐蝕腐蝕
    發(fā)表于 11-23 16:39

    LabVIEW+Python+openCV

    的,動(dòng)態(tài)鏈接庫也需要配置,還需要知道各個(gè)參數(shù)含義和類型,這里提供另外一種方法,那就是PythonopenCV工具包,絕對(duì)開源和免費(fèi),LabVIEW可以利用Python節(jié)點(diǎn)調(diào)用
    發(fā)表于 12-07 20:59

    圖像腐蝕_《OpenCV3編程入門》書本配套源代碼

    OpenCV3編程入門》書本配套源代碼:圖像腐蝕
    發(fā)表于 06-06 15:39 ?3次下載

    圖像腐蝕與膨脹綜合示例_《OpenCV3編程入門》書本配套源代碼

    OpenCV3編程入門》書本配套源代碼:圖像腐蝕與膨脹綜合示例
    發(fā)表于 06-06 15:52 ?5次下載

    用morphologyEx進(jìn)行圖像腐蝕_《OpenCV3編程入門》配套源代碼

    OpenCV3編程入門》書本配套源代碼:用morphologyEx進(jìn)行圖像腐蝕
    發(fā)表于 06-06 15:52 ?2次下載

    圖像腐蝕_OpenCV3編程入門-源碼例程全集

    OpenCV3編程入門-源碼例程全集-圖像腐蝕,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-18 16:55 ?0次下載

    圖像腐蝕與膨脹綜合示例_OpenCV3編程入門-源碼例程全集

    OpenCV3編程入門-源碼例程全集-圖像腐蝕與膨脹綜合示例,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-18 16:55 ?0次下載

    用morphologyEx進(jìn)行圖像腐蝕_OpenCV3編程入門-源碼例程

    OpenCV3編程入門-源碼例程全集-用morphologyEx進(jìn)行圖像腐蝕,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-18 16:55 ?0次下載

    python圖像處理opencv步驟是怎么樣的

    越來越覺得python是一強(qiáng)大的工具,處理樣本確實(shí)不錯(cuò)。最近因項(xiàng)目需要涉及到圖片處理,所以開始用python調(diào)用opencv,再次覺得python
    發(fā)表于 12-04 15:29 ?4531次閱讀

    如何使用OpenCV、Python和深度學(xué)習(xí)在圖像和視頻中實(shí)現(xiàn)面部識(shí)別?

    Face ID 的興起帶動(dòng)了一波面部識(shí)別技術(shù)熱潮。本文將介紹如何使用 OpenCVPython 和深度學(xué)習(xí)在圖像和視頻中實(shí)現(xiàn)面部識(shí)別,以基于深度識(shí)別的面部嵌入,實(shí)時(shí)執(zhí)行且達(dá)到高準(zhǔn)確度
    的頭像 發(fā)表于 07-17 16:20 ?8346次閱讀

    OpenCV中的Python實(shí)現(xiàn)

    類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。 OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然
    的頭像 發(fā)表于 08-25 15:55 ?2327次閱讀

    如何使用PythonOpenCV進(jìn)行圖像拼接

      圖像拼接是計(jì)算機(jī)視覺中最成功的應(yīng)用之一。如今,很難找到不包含此功能的手機(jī)或圖像處理API。在本文中,我們將討論如何使用PythonOpenCV進(jìn)行
    的頭像 發(fā)表于 10-26 15:59 ?2328次閱讀

    如何使用OpenCVPython圖像中提取感興趣區(qū)域

    今天我們將一起探究如何使用OpenCVPython圖像中提取感興趣區(qū)域(ROI)。 在之間的文章中,我們完成了圖像邊緣提取,例如從臺(tái)球桌中提取桌邊。使用了簡(jiǎn)單的
    的頭像 發(fā)表于 02-07 14:42 ?2196次閱讀

    Python實(shí)現(xiàn)OpenCV的安裝與使用

      本文實(shí)例講述了 Python 實(shí)現(xiàn) OpenCV 的安裝與使用。分享給大家供 大家參考,具體如下:  由于下一步要開始研究下深度學(xué)習(xí),而深度學(xué)習(xí)領(lǐng)域很多的算法和應(yīng) 用都是用 Python
    發(fā)表于 07-20 11:46 ?7次下載

    opencv-pythonopencv一樣嗎

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