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

Python+OpenCV之形態(tài)學(xué)操作詳解

 更新時間:2022年09月28日 17:00:07   作者:錦鯉AI幸運  
這篇文章主要為大家詳細(xì)介紹了Python?OpenCV中的形態(tài)學(xué)操作(開運算、閉運算)的實現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下

一、 腐蝕與膨脹

1.1 腐蝕操作

import cv2
import numpy as np

img = cv2.imread('DataPreprocessing/img/dige.png')

cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

dige.png原圖1展示(注: 沒有原圖的可以截圖下來保存本地。):

腐蝕1輪次之后~ (iterations = 1)

kernel = np.ones((3, 3), np.uint8)
erosion = cv2.erode(img, kernel, iterations=1)

cv2.imshow('erosion', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()

腐蝕結(jié)果展示圖2:

腐蝕圓多次的效果,以及腐蝕原理

pie = cv2.imread('DataPreprocessing/img/pie.png')

cv2.imshow('pie', pie)
cv2.waitKey(0)
cv2.destroyAllWindows()

pie.png原圖3:

腐蝕原理, 其中濾波器的大小越大腐蝕的程度越大 圖4:

kernel = np.ones((30, 30), np.uint8)
erosion_1 = cv2.erode(pie, kernel, iterations=1)
erosion_2 = cv2.erode(pie, kernel, iterations=2)
erosion_3 = cv2.erode(pie, kernel, iterations=3)
res = np.hstack((erosion_1, erosion_2, erosion_3))
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

圓腐蝕三次結(jié)果展示圖5:

1.2 膨脹操作

kernel = np.ones((3, 3), np.uint8)
dige_dilate = erosion
dige_dilate = cv2.dilate(erosion, kernel, iterations=1)

cv2.imshow('dilate', dige_dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()

膨脹之前圖2,發(fā)現(xiàn)線條變粗,跟原圖對比的線條相差無幾,但是沒了那些長須裝的噪音,圖6:

膨脹圓多次的效果,以及膨脹原理與腐蝕相反,有白色點的濾波器則濾波器內(nèi)數(shù)據(jù)全變?yōu)榘咨?/p>

pie = cv2.imread('DataPreprocessing/img/pie.png')

kernel = np.ones((30, 30), np.uint8)
dilate_1 = cv2.dilate(pie, kernel, iterations=1)
dilate_2 = cv2.dilate(pie, kernel, iterations=2)
dilate_3 = cv2.dilate(pie, kernel, iterations=3)
res = np.hstack((dilate_1, dilate_2, dilate_3))
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

膨脹圓3次的結(jié)果展示,圖7:

二、 開運算與閉運算

2.1 開運算

# 開:先腐蝕,再膨脹
img = cv2.imread('DataPreprocessing/img/dige.png')

kernel = np.ones((5, 5), np.uint8)
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

cv2.imshow('opening', opening)
cv2.waitKey(0)
cv2.destroyAllWindows()

將原圖1,先腐蝕,再膨脹,得到開運算結(jié)果圖8:

2.2 閉運算

# 閉:先膨脹,再腐蝕
img = cv2.imread('DataPreprocessing/img/dige.png')

kernel = np.ones((5, 5), np.uint8)
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

cv2.imshow('closing', closing)
cv2.waitKey(0)
cv2.destroyAllWindows()

將原圖1,先膨脹,再腐蝕,得到開運算結(jié)果圖9:

三、梯度運算

拿原圖3的圓,做5次膨脹,5次腐蝕,相減得到其輪廓。

# 梯度=膨脹-腐蝕
pie = cv2.imread('DataPreprocessing/img/pie.png')
kernel = np.ones((7, 7), np.uint8)
dilate = cv2.dilate(pie, kernel, iterations=5)
erosion = cv2.erode(pie, kernel, iterations=5)

res = np.hstack((dilate, erosion))

cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

gradient = cv2.morphologyEx(pie, cv2.MORPH_GRADIENT, kernel)

cv2.imshow('gradient', gradient)
cv2.waitKey(0)
cv2.destroyAllWindows()

得到梯度運算結(jié)果圖10:

四、禮帽與黑帽

4.1 禮帽

禮帽 = 原始輸入-開運算結(jié)果

# 禮帽
img = cv2.imread('DataPreprocessing/img/dige.png')
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
cv2.imshow('tophat', tophat)
cv2.waitKey(0)
cv2.destroyAllWindows()

得到禮帽結(jié)果圖11:

4.2 黑帽

黑帽 = 閉運算-原始輸入

# 黑帽
img = cv2.imread('DataPreprocessing/img/dige.png')
blackhat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel)
cv2.imshow('blackhat ', blackhat)
cv2.waitKey(0)
cv2.destroyAllWindows()

得到禮帽結(jié)果圖12:

以上就是Python+OpenCV之形態(tài)學(xué)操作詳解的詳細(xì)內(nèi)容,更多關(guān)于Python OpenCV形態(tài)學(xué)操作的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用Matplotlib將圖片保存為.tiff格式

    使用Matplotlib將圖片保存為.tiff格式

    這篇文章主要介紹了使用Matplotlib將圖片保存為.tiff格式問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • PyTorch中常見損失函數(shù)的使用詳解

    PyTorch中常見損失函數(shù)的使用詳解

    損失函數(shù),又叫目標(biāo)函數(shù),是指計算機標(biāo)簽值和預(yù)測值直接差異的函數(shù),本文為大家整理了PyTorch中常見損失函數(shù)的簡單解釋和使用,希望對大家有所幫助
    2023-06-06
  • 詳解Python的三種可變參數(shù)

    詳解Python的三種可變參數(shù)

    這篇文章主要介紹了Python的三種可變參數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python實現(xiàn)跨excel sheet復(fù)制代碼實例

    python實現(xiàn)跨excel sheet復(fù)制代碼實例

    這篇文章主要介紹了python實現(xiàn)跨excel sheet復(fù)制代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 使用python開發(fā)vim插件及心得分享

    使用python開發(fā)vim插件及心得分享

    Vim 插件是一個 .vim 的腳本文件,定義了函數(shù)、映射、語法規(guī)則和命令,可用于操作窗口、緩沖以及行。一般一個插件包含了命令定義和事件鉤子。當(dāng)使用 Python 編寫 vim 插件時,函數(shù)外面是使用 VimL 編寫,盡管 VimL 學(xué)起來很快,但 Python 更加靈活
    2014-11-11
  • python獲取豆瓣電影簡介代碼分享

    python獲取豆瓣電影簡介代碼分享

    這篇文章主要介紹了使用python獲取豆瓣電影簡介的方法,大家參考使用吧
    2014-01-01
  • python實現(xiàn)的讀取網(wǎng)頁并分詞功能示例

    python實現(xiàn)的讀取網(wǎng)頁并分詞功能示例

    這篇文章主要介紹了python實現(xiàn)的讀取網(wǎng)頁并分詞功能,結(jié)合實例形式分析了Python使用requests模塊讀取網(wǎng)頁,以及jieba庫分詞的相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • Python中SQLite如何使用

    Python中SQLite如何使用

    在本篇文章里小編給大家整理的是關(guān)于Python中SQLite的簡單應(yīng)用詳解,需要的朋友們可以學(xué)習(xí)下。
    2020-05-05
  • Python參數(shù)、參數(shù)類型、位置參數(shù)、默認(rèn)參數(shù)、可選參數(shù)舉例詳解

    Python參數(shù)、參數(shù)類型、位置參數(shù)、默認(rèn)參數(shù)、可選參數(shù)舉例詳解

    這篇文章主要介紹了Python?3.13中函數(shù)參數(shù)的不同類型,包括位置參數(shù)、默認(rèn)值參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)、命名關(guān)鍵字參數(shù)以及它們的組合使用規(guī)則,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • python 中Arduino串口傳輸數(shù)據(jù)到電腦并保存至excel表格

    python 中Arduino串口傳輸數(shù)據(jù)到電腦并保存至excel表格

    這篇文章主要介紹了python Arduino串口傳輸數(shù)據(jù)到電腦并保存至excel表格,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10

最新評論

来安县| 花莲市| 琼结县| 通江县| 通化县| 泰州市| 杨浦区| 芜湖县| 全南县| 扎赉特旗| 古蔺县| 抚顺县| 宿州市| 颍上县| 衡阳市| 惠州市| 濮阳县| 东兴市| 余干县| 太仆寺旗| 西城区| 张家界市| 中山市| 余江县| 桦南县| 靖远县| 永昌县| 鸡西市| 岳阳市| 大同县| 公安县| 社会| 安远县| 深水埗区| 武胜县| 玉树县| 依兰县| 左贡县| 东海县| 平度市| 湄潭县|