OpenCV學(xué)習(xí)之圖像梯度算子詳解
本文是OpenCV圖像視覺入門之路的第12篇文章,本文詳細(xì)的介紹了圖像梯度算子的各種操作,例如:Sobel算子Scharr算子laplacian算子等操作。
1.Sobel算子
Sobel算子是一種圖像邊緣檢測(cè)算子,它是一種空間濾波器,可以檢測(cè)圖像中的邊緣,而梯度運(yùn)算是一種求導(dǎo)數(shù)的方法,可以用來(lái)檢測(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è)圖像中的水平邊緣和垂直邊緣。它使用卷積核來(lái)檢測(cè)圖像中的邊緣,并且可以檢測(cè)出圖像中的細(xì)微變化。OpenCV是一個(gè)計(jì)算機(jī)視覺庫(kù),它提供了一系列的函數(shù),可以用來(lái)處理圖像,包括Sobel算子。OpenCV提供了一系列的函數(shù),可以用來(lái)處理圖像,包括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ù),它可以用來(lái)檢測(cè)圖像中的邊緣和輪廓。它是一種二階微分算子,可以用來(lái)檢測(cè)圖像中的邊緣,并且可以用來(lái)檢測(cè)圖像中的噪聲。它的基本原理是,它會(huì)計(jì)算圖像中每個(gè)像素點(diǎn)的梯度,并且根據(jù)梯度的大小來(lái)檢測(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)文章
python3反轉(zhuǎn)字符串的3種方法(小結(jié))
這篇文章主要介紹了python3反轉(zhuǎn)字符串的3種方法(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11python3實(shí)現(xiàn)從kafka獲取數(shù)據(jù),并解析為json格式,寫入到mysql中
今天小編就為大家分享一篇python3實(shí)現(xiàn)從kafka獲取數(shù)據(jù),并解析為json格式,寫入到mysql中,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python結(jié)合Flask框架構(gòu)建一個(gè)簡(jiǎn)易的遠(yuǎn)程控制系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何使用Python與Flask框架構(gòu)建一個(gè)簡(jiǎn)易的遠(yuǎn)程控制系統(tǒng),能夠遠(yuǎn)程執(zhí)行操作命令(如關(guān)機(jī)、重啟、鎖屏等),還具備實(shí)時(shí)屏幕截圖功能,需要的可以參考下2025-03-03python構(gòu)建自定義回調(diào)函數(shù)詳解
在工作中,回調(diào)函數(shù)使用的場(chǎng)景是非常多的,下面我們就來(lái)通過(guò)例子程序來(lái)詳細(xì)了解利用了Python的屬性機(jī)制構(gòu)建了一個(gè)自定義回調(diào)函數(shù)的使用2017-06-06Python實(shí)現(xiàn)加解密,編碼解碼和進(jìn)制轉(zhuǎn)換(最全版)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)加解密、編碼解碼、進(jìn)制轉(zhuǎn)換、字符串轉(zhuǎn)換的最全版操作方法,文中的示例代碼講解詳細(xì),大家可以收藏一下2023-01-01PyQt5+pycharm開發(fā)環(huán)境搭建的實(shí)現(xiàn)步驟(圖文)
本文針對(duì)創(chuàng)建PyQt運(yùn)行環(huán)境+PyCharm開發(fā)環(huán)境的過(guò)程進(jìn)行記錄,文中通過(guò)圖片示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11Python Coroutine池化的實(shí)現(xiàn)詳解
在當(dāng)今計(jì)算機(jī)科學(xué)和軟件工程的領(lǐng)域中,池化技術(shù)如線程池、連接池和對(duì)象池等已經(jīng)成為優(yōu)化資源利用率和提高軟件性能的重要工具,所以下面我們就來(lái)看看Coroutine池化的具體實(shí)現(xiàn)吧2024-01-01