新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python中Sobel算子是什么
說明

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了哈密免費(fèi)建站歡迎大家使用!
1、Sobel算子的中文名稱是索貝爾算子,是一種用于邊緣檢測的離散微分算子。
它結(jié)合了高斯平滑和微分求導(dǎo)。
2、Sobel算子在Prewitt算子的基礎(chǔ)上增加了權(quán)重的概念,認(rèn)為相鄰點(diǎn)的距離對(duì)當(dāng)前像素點(diǎn)的影響是不同的。
距離越近的像素點(diǎn)對(duì)當(dāng)前像素的影響越大,從而銳化圖像,突出邊緣輪廓。
實(shí)例
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)
# Sobel 算子
x = cv.Sobel(grayImage, cv.CV_16S, 1, 0)
y = cv.Sobel(grayImage, cv.CV_16S, 0, 1)
# 轉(zhuǎn) uint8 ,圖像融合
absX = cv.convertScaleAbs(x)
absY = cv.convertScaleAbs(y)
Sobel = cv.addWeighted(absX, 0.5, absY, 0.5, 0)
# 用來正常顯示中文標(biāo)簽
plt.rcParams['font.sans-serif'] = ['SimHei']
# 顯示圖形
titles = ['原始圖像', 'Sobel 算子']
images = [rgb_img, Sobel]
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中Sobel算子,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
文章標(biāo)題:創(chuàng)新互聯(lián)Python教程:python中Sobel算子是什么
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/ccsosos.html


咨詢
建站咨詢
