python中Roberts運算元是什麼
說明
1、Roberts運算元又稱羅伯茨運算元,是最簡單的運算元,是利用區域性差分運算元尋找邊緣的運算元。
用相鄰兩象素在對角線方向的差異來檢測相似梯度幅值的邊緣。垂直邊緣的檢測效果優於斜邊緣,定位精度高,噪音敏感。
2、透過OpenCV中的filter2D()函式實現。
該函式的主要功能是透過卷積核實影像的卷積運算:
def filter2D(src, ddepth, kernel, dst=None, anchor=None, delta=None, borderType=None)
例項
import cv2 as cv import matplotlib.pyplot as plt # 讀取影像 img = cv.imread('data.jpg', cv.COLOR_BGR2GRAY) rgb_img = cv.cvtColor(img, cv.COLOR_BGR2RGB) # 灰度化處理影像 grayImage = cv.cvtColor(img, cv.COLOR_BGR2GRAY) # Roberts 運算元 kernelx = np.array([[-1, 0], [0, 1]], dtype=int) kernely = np.array([[0, -1], [1, 0]], dtype=int) x = cv.filter2D(grayImage, cv.CV_16S, kernelx) y = cv.filter2D(grayImage, cv.CV_16S, kernely) # 轉 uint8 ,影像融合 absX = cv.convertScaleAbs(x) absY = cv.convertScaleAbs(y) Roberts = cv.addWeighted(absX, 0.5, absY, 0.5, 0) # 顯示圖形 titles = ['原始影像', 'Roberts運算元'] images = [rgb_img, Roberts] for i in range(2): plt.subplot(1, 2, i + 1), plt.imshow(images[i], 'gray') plt.title(titles[i]) plt.xticks([]), plt.yticks([]) plt.show()
以上就是python中Roberts運算元的介紹,希望對大家有所幫助。更多Python學習指路:
本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2236/viewspace-2828780/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python 影像處理 OpenCV (12): Roberts 運算元、 Prewitt 運算元、 Sobel 運算元和 Laplacian 運算元邊緣檢測技術PythonOpenCV
- 【Spark篇】---SparkStreaming中運算元中OutPutOperator類運算元Spark
- python中Laplacian運算元如何使用Python
- python運算元據Python
- python中loc是什麼Python
- Python運算元據庫(3)Python
- 詳解 Python 的二元算術運算,為什麼說減法只是語法糖?Python
- spark-運算元-分割槽運算元Spark
- python中的input是什麼Python
- python中的字典是什麼Python
- python中return是什麼意思?Python
- python中mat是什麼意思?Python
- python中global是什麼意思?Python
- 為什麼說雲端計算運維是新“貴”?運維
- Python學習:運算元據庫Python
- 【Spark篇】---Spark中控制運算元Spark
- 【Spark篇】---Spark中Action運算元Spark
- JS中運算元組的方法JS
- 什麼是Python?主要運用哪些方面?Python
- 什麼是元回顧?
- Python 列表和元組的區別是什麼?Python
- 使用運算元控制公式運算公式
- 什麼是資料運營?資料運營是做什麼的?
- Python中什麼是閉包?閉包的好處是什麼?Python
- Python中的mechanize模組是什麼?Python
- python中collections.Counter是什麼?Python
- python中flake8是什麼Python
- Python中的作用域是什麼Python
- MongoDB 怎麼計運算元查詢MongoDB
- 【Spark篇】---Spark中transformations運算元二SparkORM
- Java中 使用 Math 類運算元據Java
- python中Matplotlib是什麼?怎麼用?Python
- 什麼是自動化運維?為什麼選擇Python做自動化運維?運維Python
- 什麼是雲端計算?什麼是公司網盤?
- Python中的arange是什麼?和range有什麼不同?Python
- 【OpenCV】影像變換(二)邊緣檢測:梯度運算元、Sobel運算元和Laplace運算元OpenCV梯度
- Objective-C 中的元類(meta class)是什麼?Object
- 什麼是雲端計算