亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

OpenCV學(xué)習(xí)之圖像梯度算子詳解

 更新時(shí)間:2023年02月15日 15:46:28   作者:雙子座斷點(diǎn)  
這篇文章主要為大家詳細(xì)介紹了OpenCV中圖像梯度算子的各種操作,例如Sobel算子、Scharr算子和laplacian算子等操作,感興趣的可以了解一下

本文是OpenCV圖像視覺入門之路的第12篇文章,本文詳細(xì)的介紹了圖像梯度算子的各種操作,例如:Sobel算子Scharr算子laplacian算子等操作。

1.Sobel算子

Sobel算子是一種圖像邊緣檢測(cè)算子,它是一種空間濾波器,可以檢測(cè)圖像中的邊緣,而梯度運(yùn)算是一種求導(dǎo)數(shù)的方法,可以用來檢測(cè)圖像中的局部變化。

import cv2
import numpy as np
from numpy import unicode
 
if __name__ == '__main__':
    # 不同算子的差異
    img = cv2.imread('D:/Jupyter_Notebooks/0.jpg', cv2.IMREAD_GRAYSCALE)
    sobel_x = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3)
    sobel_y = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=3)
    sobel_x = cv2.convertScaleAbs(sobel_x)
    sobel_y = cv2.convertScaleAbs(sobel_y)
    sobel_xy = cv2.addWeighted(sobel_x, 0.5, sobel_y, 0.5, 0)
 
    cv2.imshow("sobel_xy", sobel_xy)
 
    img = cv2.imread('D:/Jupyter_Notebooks/0.jpg', cv2.IMREAD_GRAYSCALE)
    cv2.imshow("img", img)
 
    cv2.waitKey(0)
    cv2.destroyAllWindows()

2.Scharr算子

Sobel算子是一種圖像邊緣檢測(cè)算法,它可以檢測(cè)圖像中的水平邊緣和垂直邊緣。它使用卷積核來檢測(cè)圖像中的邊緣,并且可以檢測(cè)出圖像中的細(xì)微變化。OpenCV是一個(gè)計(jì)算機(jī)視覺庫,它提供了一系列的函數(shù),可以用來處理圖像,包括Sobel算子。OpenCV提供了一系列的函數(shù),可以用來處理圖像,包括Sobel算子,但它也提供了其他的圖像處理算法,如Canny邊緣檢測(cè)算法,Hough變換算法等。

import cv2
import numpy as np
from numpy import unicode
 
if __name__ == '__main__':
    img = cv2.imread('D:/Jupyter_Notebooks/0.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)
 
    cv2.imshow("scharrxy", scharrxy)
 
    img = cv2.imread('D:/Jupyter_Notebooks/0.jpg', cv2.IMREAD_GRAYSCALE)
    cv2.imshow("img", img)
 
    cv2.waitKey(0)
    cv2.destroyAllWindows()

3.laplacian算子

Laplacian算子是一種圖像處理技術(shù),它可以用來檢測(cè)圖像中的邊緣和輪廓。它是一種二階微分算子,可以用來檢測(cè)圖像中的邊緣,并且可以用來檢測(cè)圖像中的噪聲。它的基本原理是,它會(huì)計(jì)算圖像中每個(gè)像素點(diǎn)的梯度,并且根據(jù)梯度的大小來檢測(cè)圖像中的邊緣。

import cv2
import numpy as np
from numpy import unicode
 
if __name__ == '__main__':
    img = cv2.imread('D:/Jupyter_Notebooks/0.jpg', cv2.IMREAD_GRAYSCALE)
    laplacian = cv2.Laplacian(img, cv2.CV_64F)
    laplacian = cv2.convertScaleAbs(laplacian)
 
    cv2.imshow("laplacian", laplacian)
 
    img = cv2.imread('D:/Jupyter_Notebooks/0.jpg', cv2.IMREAD_GRAYSCALE)
    cv2.imshow("img", img)
 
    cv2.waitKey(0)
    cv2.destroyAllWindows()

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

相關(guān)文章

最新評(píng)論