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

OpenCV學(xué)習(xí)之圖像形態(tài)學(xué)處理詳解

 更新時(shí)間:2023年02月15日 15:19:25   作者:雙子座斷點(diǎn)  
這篇文章主要為大家詳細(xì)介紹了OpenCV中圖像形態(tài)學(xué)處理的相關(guān)知識(shí),例如:腐蝕操作、膨脹操作、開(kāi)閉運(yùn)算、梯度運(yùn)算、Top Hat Black Hat運(yùn)算等操作,需要的可以參考一下

本文是OpenCV圖像視覺(jué)入門(mén)之路的第11篇文章,本文詳細(xì)的在圖像形態(tài)學(xué)進(jìn)行了圖像處理,例如:腐蝕操作、膨脹操作、開(kāi)閉運(yùn)算、梯度運(yùn)算、Top Hat Black Hat運(yùn)算等操作。

1.腐蝕操作

從下面代碼中可以看到有三幅腐蝕程度不同的圖,腐蝕越嚴(yán)重像素就越模糊

import cv2
import numpy as np
from numpy import unicode
 
if __name__ == '__main__':
    img1 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 讀取彩色圖像(BGR)
    kernel = np.ones((3, 3), np.uint8)
    erosion = cv2.erode(img1, kernel)
    cv2.imshow("img1", erosion)  # 顯示疊加圖像 dst
 
    img2 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 讀取彩色圖像(BGR)
    kernel = np.ones((10, 10), np.uint8)
    erosion_1 = cv2.erode(img2, kernel)
    cv2.imshow('erosion_1', erosion_1)
 
    img3 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 讀取彩色圖像(BGR)
    kernel = np.ones((30, 30), np.uint8)
    erosion_2 = cv2.erode(img3, kernel)
    cv2.imshow('erosion_2', erosion_2)
 
    cv2.waitKey(0)
    cv2.destroyAllWindows()

binary_img = np.array([ [0, 0, 0, 0, 0],
                        [0,255,255,255,0],
                        [0,255,255,255,0],
                        [0,255,255,255,0],
                        [0, 0, 0, 0, 0]],np.uint8)
ones((3,3),np.uint8)
 
[[  0   0   0   0   0]
 [  0   0   0   0   0]
 [  0   0 255   0   0]
 [  0   0   0   0   0]
 [  0   0   0   0   0]]

通過(guò)上面的例子發(fā)現(xiàn),經(jīng)過(guò)3x3的kernel之后,最終只保留了中心的255像素,周邊的255都變成了0。在進(jìn)行腐蝕操作的時(shí)候,就是通過(guò)kernel大小的卷積在原圖像上滑動(dòng),只有當(dāng)kernel范圍內(nèi)的像素全為255時(shí)輸出才為255,否則輸出為0,所以kernel越大最終白色像素保留的會(huì)越少。

2.膨脹操作

圖像經(jīng)過(guò)膨脹之后,白色像素的范圍變大了。在做膨脹的時(shí)候,只要當(dāng)kernel范圍內(nèi)的像素有255時(shí)輸出就為255。

3.開(kāi)閉運(yùn)算

開(kāi)運(yùn)算其實(shí)就是先通過(guò)腐蝕操作后面再進(jìn)行膨脹,閉運(yùn)算和開(kāi)運(yùn)算恰好相反先通過(guò)膨脹操作后面再進(jìn)行腐蝕

import cv2
import numpy as np
from numpy import unicode
 
if __name__ == '__main__':
    img1 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 讀取彩色圖像(BGR)
    # 定義kernel
    kernel = np.ones((3, 3), np.uint8)
    # 開(kāi)運(yùn)算
    open_img = cv2.morphologyEx(img1, cv2.MORPH_OPEN, kernel)
    # 閉運(yùn)算
    close_img = cv2.morphologyEx(img1, cv2.MORPH_CLOSE, kernel)
 
 
    cv2.imshow("open_img", open_img)  # 顯示疊加圖像 dst
    cv2.imshow("close_img", close_img)  # 顯示疊加圖像 dst
 
    cv2.waitKey(0)
    cv2.destroyAllWindows()

4.梯度運(yùn)算

梯度運(yùn)算等價(jià)于膨脹運(yùn)算-腐蝕運(yùn)算 梯度運(yùn)算主要是用來(lái)保留圖像的輪廓

5.Top Hat Black Hat運(yùn)算

Top Hat運(yùn)算等價(jià)于原始圖像 - 開(kāi)運(yùn)算,Black Hat運(yùn)算等價(jià)于閉運(yùn)算 - 原始圖像

形態(tài)學(xué)Top-Hat變換是指形態(tài)學(xué)頂帽操作與黑帽操作,前者是計(jì)算源圖像與開(kāi)運(yùn)算結(jié)果圖之差,后者是計(jì)算閉運(yùn)算結(jié)果與源圖像之差。

形態(tài)學(xué)Top-Hat變換是常用的一種濾波手段,具有高通濾波的某部分特性,可實(shí)現(xiàn)在圖像中檢測(cè)出周?chē)尘傲两Y(jié)構(gòu)或周邊背景暗結(jié)構(gòu)。

頂帽操作常用于檢測(cè)圖像中的峰結(jié)構(gòu)。

黑帽操作常用于檢測(cè)圖像中的波谷結(jié)構(gòu)。

import cv2
import numpy as np
from numpy import unicode
 
if __name__ == '__main__':
    img1 = cv2.imread("D:/Jupyter_Notebooks/0.jpg")  # 讀取彩色圖像(BGR)
    # 定義kernel
    kernel = np.ones((3, 3), np.uint8)
    tophat_img = cv2.morphologyEx(img1, cv2.MORPH_TOPHAT, kernel)
    blackhat_img = cv2.morphologyEx(img1, cv2.MORPH_BLACKHAT, kernel)
 
 
    cv2.imshow("tophat_img", tophat_img)  # 顯示疊加圖像 dst
    cv2.imshow("blackhat_img", blackhat_img)  # 顯示疊加圖像 dst
 
    cv2.waitKey(0)
    cv2.destroyAllWindows()

以上就是OpenCV學(xué)習(xí)之圖像形態(tài)學(xué)處理詳解的詳細(xì)內(nèi)容,更多關(guān)于OpenCV圖像形態(tài)學(xué)處理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python輕量級(jí)搜索工具Whoosh的使用教程

    Python輕量級(jí)搜索工具Whoosh的使用教程

    本文將為大家簡(jiǎn)單介紹一下Python中的一個(gè)輕量級(jí)搜索工具Whoosh,并給出相應(yīng)的使用示例代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-07-07
  • tensorflow dataset.shuffle、dataset.batch、dataset.repeat順序區(qū)別詳解

    tensorflow dataset.shuffle、dataset.batch、dataset.repeat順序區(qū)別詳

    這篇文章主要介紹了tensorflow dataset.shuffle、dataset.batch、dataset.repeat順序區(qū)別詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python結(jié)束程序運(yùn)行的四種方法

    python結(jié)束程序運(yùn)行的四種方法

    大家好,小編為大家解答python結(jié)束程序的代碼用什么符號(hào)的問(wèn)題,很多人還不知道python如何結(jié)束程序運(yùn)行,文中通過(guò)代碼示例和圖文結(jié)合的方式介紹的非常詳細(xì),現(xiàn)在讓我們一起來(lái)看看吧
    2024-07-07
  • python實(shí)現(xiàn)跨文件全局變量的方法

    python實(shí)現(xiàn)跨文件全局變量的方法

    這篇文章主要介紹了python實(shí)現(xiàn)跨文件全局變量的方法,需要的朋友可以參考下
    2014-07-07
  • PHP實(shí)現(xiàn)發(fā)送和接收J(rèn)SON請(qǐng)求

    PHP實(shí)現(xiàn)發(fā)送和接收J(rèn)SON請(qǐng)求

    本篇文章給大家分享了PHP實(shí)現(xiàn)發(fā)送和接收J(rèn)SON請(qǐng)求的詳細(xì)方法和實(shí)例代碼,有興趣的朋友可以參考學(xué)習(xí)下。
    2018-06-06
  • Python使用Gradio實(shí)現(xiàn)免費(fèi)的內(nèi)網(wǎng)穿透

    Python使用Gradio實(shí)現(xiàn)免費(fèi)的內(nèi)網(wǎng)穿透

    內(nèi)網(wǎng)穿透是一種將內(nèi)部網(wǎng)絡(luò)服務(wù)暴露到公共網(wǎng)絡(luò)的技術(shù),可以讓外部用戶訪問(wèn)內(nèi)部網(wǎng)絡(luò)上的服務(wù),本文將介紹如何使用Gradio實(shí)現(xiàn)免費(fèi)的內(nèi)網(wǎng)穿透,需要的可以參考下
    2024-03-03
  • Pycharm中無(wú)法使用pip安裝的包問(wèn)題解決方案

    Pycharm中無(wú)法使用pip安裝的包問(wèn)題解決方案

    本文主要介紹了Pycharm中無(wú)法使用pip安裝的包問(wèn)題解決方案,在終端通過(guò)pip裝好包以后,在pycharm中導(dǎo)入包時(shí),依然會(huì)報(bào)錯(cuò),下面就來(lái)介紹一下解決方法
    2023-09-09
  • python爬蟲(chóng)智能翻頁(yè)批量下載文件的實(shí)例詳解

    python爬蟲(chóng)智能翻頁(yè)批量下載文件的實(shí)例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python爬蟲(chóng)智能翻頁(yè)批量下載文件的實(shí)例詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02
  • python中文分詞教程之前向最大正向匹配算法詳解

    python中文分詞教程之前向最大正向匹配算法詳解

    中文分詞是中文文本處理的一個(gè)基礎(chǔ)性工作,然而長(zhǎng)久以來(lái),在Python編程領(lǐng)域,一直缺少高準(zhǔn)確率、高效率的分詞組件。下面這篇文章主要給大家介紹了關(guān)于python中文分詞教程之前向最大正向匹配算法的相關(guān)資料,需要的朋友可以參考下。
    2017-11-11
  • Python+logging輸出到屏幕將log日志寫(xiě)入文件

    Python+logging輸出到屏幕將log日志寫(xiě)入文件

    這篇文章主要給大家介紹了關(guān)于Python+logging輸出到屏幕將log日志寫(xiě)入文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

克山县| 沾化县| 汉川市| 荣昌县| 阿鲁科尔沁旗| 汕头市| 本溪| 土默特左旗| 韩城市| 石柱| 和龙市| 阿尔山市| 县级市| 汶川县| 星座| 大兴区| 祥云县| 屏东县| 大悟县| 永和县| 泸定县| 利津县| 平定县| 盐津县| 泸州市| 邵东县| 东至县| 毕节市| 福安市| 彝良县| 论坛| 北碚区| 巴彦县| 五常市| 闽清县| 永安市| 莱州市| 玛多县| 西城区| 沙田区| 库尔勒市|