91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenCV圖像形態學如何處理

發布時間:2023-02-16 09:10:23 來源:億速云 閱讀:154 作者:iii 欄目:開發技術

這篇文章主要講解了“OpenCV圖像形態學如何處理”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“OpenCV圖像形態學如何處理”吧!

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

通過上面的例子發現,經過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運算等價于閉運算 - 原始圖像

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

形態學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圖像形態學如何處理”的內容了,經過本文的學習后,相信大家對OpenCV圖像形態學如何處理這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沂南县| 左云县| 海阳市| 尉犁县| 枞阳县| 贵溪市| 盘锦市| 宣化县| 蒲城县| 襄樊市| 肥东县| 子长县| 日照市| 略阳县| 苏尼特左旗| 汝城县| 方山县| 合肥市| 曲水县| 白沙| 兰溪市| 贺州市| 中西区| 莎车县| 垦利县| 京山县| 霍邱县| 密山市| 五常市| 昌黎县| 宁河县| 格尔木市| 景宁| 娱乐| 韶山市| 胶南市| 鄂温| 平果县| 佛学| 高密市| 芮城县|