欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

OpenCV 圖像梯度的實(shí)現(xiàn)方法

 更新時(shí)間:2021年07月25日 09:03:52   作者:我是小白呀  
梯度簡單來說就是求導(dǎo)。本文主要介紹了OpenCV 圖像梯度的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

概述

OpenCV 是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺庫, 支持多語言, 功能強(qiáng)大. 今天小白就帶大家一起攜手走進(jìn) OpenCV 的世界.

梯度運(yùn)算

梯度: 膨脹 (Dilating) - 腐蝕 (Eroding).

例子:

# 讀取圖片
pie = cv2.imread("pie.png")

# 核
kernel = np.ones((7, 7), np.uint8)

# 計(jì)算梯度
gradient = cv2.morphologyEx(pie, cv2.MORPH_GRADIENT, kernel=kernel)

# 圖片展示
cv2.imshow("gradient", gradient)
cv2.waitKey(0)
cv2.destroyAllWindows()

輸出結(jié)果:

在這里插入圖片描述

禮帽

禮帽 (Top Hat): 原始輸入 - 開運(yùn)算結(jié)果.

例子:

# 讀取圖片
img = cv2.imread("white.png")

# 核
kernel = np.ones((7, 7), np.uint8)

# 禮帽
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel=kernel)

# 圖片展示
cv2.imshow("tophat", tophat)
cv2.waitKey(0)
cv2.destroyAllWindows()

輸出結(jié)果:

在這里插入圖片描述

黑帽

黑帽 (Black Hat): 閉運(yùn)算 - 原始輸入.

例子:

# 讀取圖片
img = cv2.imread("white.png")

# 核
kernel = np.ones((7, 7), np.uint8)

# 禮帽
blackhat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel=kernel)

# 圖片展示
cv2.imshow("blackhat", blackhat)
cv2.waitKey(0)
cv2.destroyAllWindows()

輸出結(jié)果:

在這里插入圖片描述

Sobel 算子

Sobel 算子 (Sobeloperator) 是邊緣檢測中非常重要的一個(gè)算子. Sobel 算子是一類離散性差分算子, 用來運(yùn)算圖像高亮度函數(shù)的灰度之近似值.

格式:

cv2.Sobel(src, ddepth, dx, dy, ksize)

參數(shù):

  • src: 原圖
  • ddepth: 圖片深度
  • dx: 水平方向
  • dy: 豎直方向
  • ksize: 算子大小

計(jì)算 x

代碼:

# 讀取圖片
img = cv2.imread("pie.png")

# Sobel算子
sobelx = cv2.Sobel(img, -1, 1, 0, ksize=3)

# 展示圖片
cv2.imshow("sobelx", sobelx)
cv2.waitKey(0)
cv2.destroyAllWindows()

輸出結(jié)果:

在這里插入圖片描述

計(jì)算 y

代碼:

# 讀取圖片
img = cv2.imread("pie.png")

# Sobel算子
sobely = cv2.Sobel(img, -1, 0, 1, ksize=3)

# 展示圖片
cv2.imshow("sobely", sobely)
cv2.waitKey(0)
cv2.destroyAllWindows()

輸出結(jié)果:

在這里插入圖片描述

計(jì)算 x+y

代碼:

# 讀取圖片
img = cv2.imread("pie.png")

# Sobel算子
sobel = cv2.Sobel(img, -1, 1, 1, ksize=3)

# 展示圖片
cv2.imshow("sobel", sobel)
cv2.waitKey(0)
cv2.destroyAllWindows()

輸出結(jié)果:

在這里插入圖片描述

融合

代碼:

# Sobel算子
sobelx = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3)
sobely = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=3)

# 轉(zhuǎn)換成絕對(duì)值
sobelx = cv2.convertScaleAbs(sobelx)
sobely = cv2.convertScaleAbs(sobely)

# 融合
sobel_xy = cv2.addWeighted(sobelx, 0.5, sobely, 0.5, 0)

# 展示圖片
cv2.imshow("sobel_xy", sobel_xy)
cv2.waitKey(0)
cv2.destroyAllWindows()

輸出結(jié)果:

在這里插入圖片描述

注: 當(dāng) ddepth 設(shè)置為 -1, 即與原圖保持一致, 得到的結(jié)果可能是錯(cuò)誤的. 計(jì)算梯度值可能出現(xiàn)負(fù)數(shù), 負(fù)數(shù)會(huì)自動(dòng)截?cái)酁?0. 為了避免信息丟失, 我們需要使用更高是數(shù)據(jù)類型 cv2.CV_64F, 再通過取絕對(duì)值將其映射到 cv2.CV_8U 類型.

到此這篇關(guān)于OpenCV 圖像梯度的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)OpenCV 圖像梯度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python Django搭建文件下載服務(wù)器的實(shí)現(xiàn)

    Python Django搭建文件下載服務(wù)器的實(shí)現(xiàn)

    這篇文章主要介紹了Python Django搭建文件下載服務(wù)器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Python Scrapy圖片爬取原理及代碼實(shí)例

    Python Scrapy圖片爬取原理及代碼實(shí)例

    這篇文章主要介紹了Python Scrapy圖片爬取原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • NumPy雙曲函數(shù)與集合操作詳解

    NumPy雙曲函數(shù)與集合操作詳解

    NumPy?提供了?sinh()、cosh()?和?tanh()?等?ufunc,它們接受弧度值并生成相應(yīng)的雙曲正弦、雙曲余弦和雙曲正切值,我們可以使用?NumPy?的?unique()?方法從任何數(shù)組中找到唯一元素,本文給大家詳細(xì)介紹了NumPy雙曲函數(shù)與集合操作,需要的朋友可以參考下
    2024-06-06
  • 利用matplotlib實(shí)現(xiàn)根據(jù)實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)更新圖形

    利用matplotlib實(shí)現(xiàn)根據(jù)實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)更新圖形

    今天小編就為大家分享一篇利用matplotlib實(shí)現(xiàn)根據(jù)實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)更新圖形,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Django實(shí)現(xiàn)后臺(tái)上傳并顯示圖片功能

    Django實(shí)現(xiàn)后臺(tái)上傳并顯示圖片功能

    這篇文章主要介紹了Django實(shí)現(xiàn)后臺(tái)上傳并顯示圖片功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python游戲庫pygame經(jīng)典教程(推薦!)

    python游戲庫pygame經(jīng)典教程(推薦!)

    Python Pygame是一款專門為開發(fā)和設(shè)計(jì) 2D 電子游戲而生的軟件包,是入門級(jí)游戲開發(fā)庫,下面這篇文章主要給大家介紹了python游戲庫pygame經(jīng)典教程的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • 使用Python解決常見格式圖像讀取nii,dicom,mhd

    使用Python解決常見格式圖像讀取nii,dicom,mhd

    這篇文章主要介紹了使用Python解決常見格式圖像讀取nii,dicom,mhd,下文具體操作過程需要的小伙伴可以參考一下
    2022-04-04
  • python獲取微信企業(yè)號(hào)打卡數(shù)據(jù)并生成windows計(jì)劃任務(wù)

    python獲取微信企業(yè)號(hào)打卡數(shù)據(jù)并生成windows計(jì)劃任務(wù)

    由于公司的系統(tǒng)用的是Java版本,開通了企業(yè)號(hào)打卡之后又沒有預(yù)算讓供應(yīng)商做數(shù)據(jù)對(duì)接,所以只能自己搗鼓這個(gè),以下是個(gè)人設(shè)置的一些內(nèi)容,僅供大家參考
    2019-04-04
  • python 調(diào)用Google翻譯接口的方法

    python 調(diào)用Google翻譯接口的方法

    這篇文章主要介紹了python 調(diào)用Google翻譯接口的方法,幫助大家更好的理解和使用python處理url,感興趣的朋友可以了解下
    2020-12-12
  • Python魔法方法 容器部方法詳解

    Python魔法方法 容器部方法詳解

    這篇文章主要介紹了Python魔法方法 容器部方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01

最新評(píng)論