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

Python+OpenCV之圖像梯度詳解

 更新時間:2022年09月28日 15:08:57   作者:錦鯉AI幸運  
這篇文章主要為大家詳細介紹了Python OpenCV中圖像梯度(Sobel算子、Scharr算子和Laplacian算子)的實現(xiàn),感興趣的小伙伴可以了解一下

1. Sobel算子

OpenCV系列—本文底頁有多個常用方法鏈接

1.1 Sobel介紹

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

  • ddepth:圖像的深度
  • dx和dy分別表示水平和豎直方向
  • ksize是Sobel算子的大小

import cv2  # opencv讀取的格式是BGR


def cv_show(img, name):
    cv2.imshow(name, img)
    cv2.waitKey()
    cv2.destroyAllWindows()


img = cv2.imread('../img/pie.png', cv2.IMREAD_GRAYSCALE)
cv2.imshow("img", img)
cv2.waitKey()
cv2.destroyAllWindows()

pie.png原圖(右擊另存為下載):

1.2 橫向Sobel算子

采用上述公式中的 G x G_{x} Gx?濾波器掃描整張圖,提取了左右兩邊有梯度差的位置,但是橫向看圓的上頂端和下頂端的梯度不明顯所以呈現(xiàn)圖片如下上下端為虛線的圓

sobelx = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3)
cv_show(sobelx, 'sobelx')

結(jié)果如下:

白-黑是正數(shù),黑-白就是負數(shù)了,所有的負數(shù)會被截斷成0,所以要取絕對值。

sobelx = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3)
sobelx = cv2.convertScaleAbs(sobelx)
cv_show(sobelx, 'sobelx')

加入絕對值后,梯度結(jié)果就可以有一個完整的圓:

1.3 縱向Sobel算子

采用上述公式中的 G y G_{y} Gy?濾波器掃描整張圖,提取了上下兩邊有梯度差的位置,但是縱向看圓的左頂端和右頂端的梯度不明顯所以呈現(xiàn)圖片如左右端為虛線的圓。

sobely = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=3)
sobely = cv2.convertScaleAbs(sobely)
cv_show(sobely, 'sobely')

1.4 合并橫縱向的方法提取更好的邊緣的結(jié)果

將橫向梯度提取濾波器 Gx與縱向梯度提取濾波器Gy?相加,即可得到效果較好的圓的邊緣梯度信息。

sobelxy = cv2.addWeighted(sobelx, 0.5, sobely, 0.5, 0)
cv_show(sobelxy, 'sobelxy')

不推薦

sobelxy = cv2.Sobel(img, cv2.CV_64F, 1, 1, ksize=3)
sobelxy = cv2.convertScaleAbs(sobelxy)
cv_show(sobelxy, 'sobelxy')

結(jié)果顯示,相對于分開使用橫縱向算子邊緣重影嚴重:

1.5 利用1.3方法繪制素描風格

lena.jpg原圖,另存為保存:

import cv2  # opencv讀取的格式是BGR


img = cv2.imread('../img/lena.jpg', cv2.IMREAD_GRAYSCALE)
sobelx = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3)
sobelx = cv2.convertScaleAbs(sobelx)
sobely = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=3)
sobely = cv2.convertScaleAbs(sobely)
sobelxy = cv2.addWeighted(sobelx, 0.5, sobely, 0.5, 0)
cv_show(sobelxy, 'sobelxy')

2. Scharr算子

import cv2  # opencv讀取的格式是BGR


img = cv2.imread('../img/lena.jpg', cv2.IMREAD_GRAYSCALE)

scharrx = cv2.Scharr(img, cv2.CV_64F, 1, 0)
scharry = cv2.Scharr(img, cv2.CV_64F, 0, 1)
scharrx = cv2.convertScaleAbs(scharrx)
scharry = cv2.convertScaleAbs(scharry)
scharrxy = cv2.addWeighted(scharrx, 0.5, scharry, 0.5, 0)

二階動量對紋理細節(jié)區(qū)分更加豐富,結(jié)果圖如下:

3. Laplacian算子

import cv2  # opencv讀取的格式是BGR


img = cv2.imread('../img/lena.jpg', cv2.IMREAD_GRAYSCALE)

laplacian = cv2.Laplacian(img,cv2.CV_64F)
laplacian = cv2.convertScaleAbs(laplacian)   

需要配合其他操作共同使用,單個使用的效果不如上面兩個算子,結(jié)果圖如下:

到此這篇關于Python+OpenCV之圖像梯度詳解的文章就介紹到這了,更多相關OpenCV圖像梯度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python實現(xiàn)XML解析的方法解析

    python實現(xiàn)XML解析的方法解析

    這篇文章主要介紹了python實現(xiàn)XML解析的方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • 使用Python3?Boto3包刪除AWS?CloudFormation的棧(Stacks)

    使用Python3?Boto3包刪除AWS?CloudFormation的棧(Stacks)

    這篇文章主要介紹了如何使用Python3?Boto3刪除AWS?CloudFormation的棧(Stacks),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • python自動化測試工具Helium使用示例

    python自動化測試工具Helium使用示例

    大家好,本篇文章主要講的是python自動化測試工具Helium使用示例,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下哦
    2021-12-12
  • 一文教你利用Python畫花樣圖

    一文教你利用Python畫花樣圖

    這篇文章主要給大家介紹了關于如何利用Python畫花樣圖的相關資料,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-10-10
  • python快速編寫單行注釋多行注釋的方法

    python快速編寫單行注釋多行注釋的方法

    在本篇文章里小編給大家整理的是關于python快速編寫單行注釋多行注釋的方法,有此需要的朋友們可以參考學習下。
    2019-07-07
  • Python使用分布式鎖的代碼演示示例

    Python使用分布式鎖的代碼演示示例

    這篇文章主要介紹了Python使用分布式鎖的代碼演示,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • python求crc32值的方法

    python求crc32值的方法

    這篇文章主要介紹了python求crc32值的方法,包括相關的步驟及實現(xiàn)方法,需要的朋友可以參考下
    2014-10-10
  • Python生成一個迭代器的實操方法

    Python生成一個迭代器的實操方法

    在本文里小編給大家分享了關于Python怎么生成一個迭代器的相關操作方法,有需要的朋友們可以學習參考下。
    2019-06-06
  • Python+OpenCV實現(xiàn)閾值分割的方法詳解

    Python+OpenCV實現(xiàn)閾值分割的方法詳解

    閾值分割法是一種基于區(qū)域的圖像分割技術(shù),原理是把圖像像素點分為若干類。本文將利用Python+OpenCV實現(xiàn)閾值分割,感興趣的可以了解一下
    2022-05-05
  • opencv 攝像機標定的實現(xiàn)

    opencv 攝像機標定的實現(xiàn)

    本文主要介紹了opencv 攝像機標定的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-02-02

最新評論