欧美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)猜單詞小游戲

    python實現(xiàn)猜單詞小游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)猜單詞小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python?中的?super詳解

    python?中的?super詳解

    這篇文章主要介紹了python?中的?super,提到 super,最直接的想法就是它代表了父類,替父類執(zhí)行某些方法,但是理解也僅止步于此,下面對 super 做進一步理解,需要的朋友可以參考下
    2022-08-08
  • python3 發(fā)送任意文件郵件的實例

    python3 發(fā)送任意文件郵件的實例

    下面小編就為大家分享一篇python3 發(fā)送任意文件郵件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • python對RabbitMQ的簡單入門使用教程

    python對RabbitMQ的簡單入門使用教程

    RabbitMq是實現(xiàn)了高級消息隊列協(xié)議(AMQP)的開源消息代理中間件,下面這篇文章主要給大家介紹了關于python對RabbitMQ的簡單入門使用,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Python?任務自動化工具nox?的配置與?API詳情

    Python?任務自動化工具nox?的配置與?API詳情

    這篇文章主要介紹了Python?任務自動化工具nox?的配置與?API詳情,Nox?會話是通過被@nox.session裝飾的標準?Python?函數(shù)來配置的,具體詳情下文相關介紹需要的小伙伴可以參考一下
    2022-07-07
  • python利用opencv實現(xiàn)顏色檢測

    python利用opencv實現(xiàn)顏色檢測

    這篇文章主要為大家詳細介紹了python利用opencv實現(xiàn)顏色檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • 思考分析Python運算中?a+=b?和?a=a+b是否相等

    思考分析Python運算中?a+=b?和?a=a+b是否相等

    這篇文章主要為大家介紹了Python運算中a+=b和a=a+b是否相等及原理思考分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • pycharm配置Anaconda虛擬環(huán)境全過程

    pycharm配置Anaconda虛擬環(huán)境全過程

    這篇文章主要介紹了pycharm配置Anaconda虛擬環(huán)境全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • python利用正則表達式排除集合中字符的功能示例

    python利用正則表達式排除集合中字符的功能示例

    在正則表達式里,想匹配一些字符中的一個,也就是說給出一個字符的集合,只要出現(xiàn)這個集合里任意的字符,都是成立的,下面這篇文章主要給大家介紹了關于python利用正則表達式排除集合中字符功能的相關資料,需要的朋友可以參考下。
    2017-10-10
  • Python向Excel中插入圖片的簡單實現(xiàn)方法

    Python向Excel中插入圖片的簡單實現(xiàn)方法

    這篇文章主要介紹了Python向Excel中插入圖片的簡單實現(xiàn)方法,結(jié)合實例形式分析了Python使用XlsxWriter模塊操作Excel單元格插入jpg格式圖片的相關操作技巧,非常簡單實用,需要的朋友可以參考下
    2018-04-04

最新評論