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

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

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

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

1.腐蝕操作

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

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]]

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

2.膨脹操作

圖像經過膨脹之后,白色像素的范圍變大了。在做膨脹的時候,只要當kernel范圍內的像素有255時輸出就為255。

3.開閉運算

開運算其實就是先通過腐蝕操作后面再進行膨脹,閉運算和開運算恰好相反先通過膨脹操作后面再進行腐蝕。

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)
    # 開運算
    open_img = cv2.morphologyEx(img1, cv2.MORPH_OPEN, kernel)
    # 閉運算
    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.梯度運算

梯度運算等價于膨脹運算-腐蝕運算 梯度運算主要是用來保留圖像的輪廓

5.Top Hat Black Hat運算

Top Hat運算等價于原始圖像 - 開運算,Black Hat運算等價于閉運算 - 原始圖像

形態(tài)學Top-Hat變換是指形態(tài)學頂帽操作與黑帽操作,前者是計算源圖像與開運算結果圖之差,后者是計算閉運算結果與源圖像之差。

形態(tài)學Top-Hat變換是常用的一種濾波手段,具有高通濾波的某部分特性,可實現在圖像中檢測出周圍背景亮結構或周邊背景暗結構。

頂帽操作常用于檢測圖像中的峰結構。

黑帽操作常用于檢測圖像中的波谷結構。

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學習之圖像形態(tài)學處理詳解的詳細內容,更多關于OpenCV圖像形態(tài)學處理的資料請關注腳本之家其它相關文章!

相關文章

  • Python輕量級搜索工具Whoosh的使用教程

    Python輕量級搜索工具Whoosh的使用教程

    本文將為大家簡單介紹一下Python中的一個輕量級搜索工具Whoosh,并給出相應的使用示例代碼,感興趣的小伙伴可以跟隨小編一起學習一下
    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ū)別詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-06-06
  • python結束程序運行的四種方法

    python結束程序運行的四種方法

    大家好,小編為大家解答python結束程序的代碼用什么符號的問題,很多人還不知道python如何結束程序運行,文中通過代碼示例和圖文結合的方式介紹的非常詳細,現在讓我們一起來看看吧
    2024-07-07
  • python實現跨文件全局變量的方法

    python實現跨文件全局變量的方法

    這篇文章主要介紹了python實現跨文件全局變量的方法,需要的朋友可以參考下
    2014-07-07
  • PHP實現發(fā)送和接收JSON請求

    PHP實現發(fā)送和接收JSON請求

    本篇文章給大家分享了PHP實現發(fā)送和接收JSON請求的詳細方法和實例代碼,有興趣的朋友可以參考學習下。
    2018-06-06
  • Python使用Gradio實現免費的內網穿透

    Python使用Gradio實現免費的內網穿透

    內網穿透是一種將內部網絡服務暴露到公共網絡的技術,可以讓外部用戶訪問內部網絡上的服務,本文將介紹如何使用Gradio實現免費的內網穿透,需要的可以參考下
    2024-03-03
  • Pycharm中無法使用pip安裝的包問題解決方案

    Pycharm中無法使用pip安裝的包問題解決方案

    本文主要介紹了Pycharm中無法使用pip安裝的包問題解決方案,在終端通過pip裝好包以后,在pycharm中導入包時,依然會報錯,下面就來介紹一下解決方法
    2023-09-09
  • python爬蟲智能翻頁批量下載文件的實例詳解

    python爬蟲智能翻頁批量下載文件的實例詳解

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

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

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

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

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

最新評論

河北区| 台中县| 桓仁| 井冈山市| 鄂州市| 太原市| 台山市| 栾城县| 科技| 永春县| 特克斯县| 曲阜市| 庆阳市| 锦州市| 邹平县| 安化县| 昌图县| 宜川县| 新源县| 山西省| 壶关县| 乌兰察布市| 柘荣县| 德化县| 府谷县| 平利县| 桐城市| 浮山县| 柞水县| 义马市| 彰武县| 博爱县| 泰兴市| 博野县| 墨竹工卡县| 融水| 昭苏县| 兴山县| 自贡市| 沛县| 莱州市|