国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于OpenCV的傳統(tǒng)視覺(jué)應(yīng)用 -- OpenCV圖像處理 圖像模糊處理 圖像銳化處理

這篇具有很好參考價(jià)值的文章主要介紹了基于OpenCV的傳統(tǒng)視覺(jué)應(yīng)用 -- OpenCV圖像處理 圖像模糊處理 圖像銳化處理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

圖像處理

圖像處理是用計(jì)算機(jī)對(duì)圖像進(jìn)行分析,以獲取所需結(jié)果的過(guò)程,又稱為影像處理。圖像處理一般是指數(shù)字圖像的處理。數(shù)字圖像是用工業(yè)相機(jī)、攝像機(jī)、掃描儀等設(shè)備經(jīng)過(guò)拍攝得到的一個(gè)大的二維數(shù)組,該數(shù)組的元素稱為像素,其值稱為灰度值。

圖像模糊

均值濾波

均值濾波是指任意一點(diǎn)的像素值,都是周圍 NxM 個(gè)像素值的均值。
指通過(guò)將圖像與低通濾波器內(nèi)核進(jìn)行卷積來(lái)實(shí)現(xiàn)圖像模糊,這對(duì)于消除噪聲很有用。

OpenCv里可以用cv2.blur(img,(3,3)) 函數(shù)實(shí)現(xiàn)圖像的均值濾波。
第二個(gè)參數(shù)(3,3)稱為濾波核。

中值濾波

在使用鄰域平均法去噪的同時(shí)也使得邊界變得模糊。而中值濾波是非線性的圖像處理方法,在去噪的同時(shí)可以兼顧到邊界信息的保留。選一個(gè)含有奇數(shù)點(diǎn)的窗口W,將這個(gè)窗口在圖像上掃描,把窗口中所含的像素點(diǎn)按灰度級(jí)的升或降序排列,取位于中間的灰度值來(lái)代替該點(diǎn)的灰度值。

OpenCV里可以使用cv2.medianBlur(img,3)函數(shù)來(lái)實(shí)現(xiàn)
3為簡(jiǎn)寫方式 ,與(3,3)是一樣的。

高斯濾波

為了克服簡(jiǎn)單局部平均法的弊端(圖像模糊),目前已提出許多保持邊緣、細(xì)節(jié)的局部平滑算法。它們的出發(fā)點(diǎn)都集中在如何選擇鄰域的大小、形狀和方向、參數(shù)加平均及鄰域各店的權(quán)重系數(shù)等。

圖像高斯平滑也是鄰域平均的思想對(duì)圖像進(jìn)行平滑的一種方法,在圖像高斯平滑中,對(duì)圖像進(jìn)行平均時(shí),不同位置的像素被賦予了不同的權(quán)重。高斯平滑與簡(jiǎn)單平滑不同,它在對(duì)鄰域內(nèi)像素進(jìn)行平均時(shí),給予不同位置的像素不同的權(quán)值

cv2.GaussianBlur(source,(3,3),0)
第一個(gè)參數(shù)為圖像對(duì)象
第二個(gè)參數(shù)為濾波核
第三個(gè)參數(shù)0為高斯核標(biāo)準(zhǔn)差

實(shí)例

import cv2
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']   # 指定默認(rèn)字體為黑體
mpl.rcParams['axes.unicode_minus'] = False   # 正常顯示負(fù)號(hào)

# 均值濾波
img = cv2.imread('./dog.jpg', 0)  # 第二個(gè)參數(shù)0 是設(shè)置為灰度圖用的
blur = cv2.blur(img, (5, 5))

# 顯示圖像
plt.subplot(1, 2, 1)
plt.imshow(img, 'gray')
plt.title("zaosheng")
plt.subplot(1, 2, 2)
plt.imshow(blur, 'gray')
plt.title("blur")
plt.show()

# 中值濾波
img = cv2.imread("./dog.jpg", 0)
dst = cv2.medianBlur(img, (5))    # 卷積核大小為5
# 顯示圖像
plt.subplot(1, 2, 1)
plt.imshow(img, "gray")
plt.title("zaosheng")
plt.subplot(1, 2, 2)
plt.imshow(dst, 'gray')
plt.title("medianBlur")
plt.show()

# 高斯濾波
img = cv2.imread("./dog.jpg", 0)
m_dst = cv2.medianBlur(img, (5))
g_dst = cv2.GaussianBlur(img, (5, 5), 0)  # 高斯核為5*5

# 顯示圖像
plt.subplot(1, 3, 1), plt.imshow(img, 'gray')
plt.title("zaosheng")
plt.subplot(1, 3, 2), plt.imshow(g_dst, 'gray')
plt.title('高斯')
plt.subplot(1, 3, 3), plt.imshow(m_dst, 'gray')
plt.title('medianBlur')
plt.show()

均值濾波

opencv 銳化,人工智能,opencv,圖像處理,計(jì)算機(jī)視覺(jué),python,人工智能
中值濾波
opencv 銳化,人工智能,opencv,圖像處理,計(jì)算機(jī)視覺(jué),python,人工智能
高斯濾波:
opencv 銳化,人工智能,opencv,圖像處理,計(jì)算機(jī)視覺(jué),python,人工智能

圖像銳化

圖像銳化是補(bǔ)償圖像的輪廓,以及增強(qiáng)圖像的邊緣和灰度跳變的部分,使圖像變得清晰的操作,分為空間域處理和頻處理兩類。
圖像銳化的目的是突出圖像地物的邊緣、輪廓,或者某些線性目標(biāo)要素的特征。這邪惡濾波方法增強(qiáng)了地物邊緣與周圍像元之間的反差,因此也稱為邊緣增強(qiáng)。

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
dog = cv.imread("./dog.jpg", 0)
# plt.imshow(dog, 'gray')
# plt.title("灰度圖")
# plt.show()

dog_f = np.copy(dog)
dog_f = dog_f.astype("float")
# plt.imshow(dog_f, "gray")
# plt.title('灰度圖2')
# plt.show()

row, column = dog.shape
gradient = np.zeros((row, column))
for x in range(row-1):
    for y in range(column-1):
        gx = abs(dog_f[x+1, y]-dog_f[x, y])   # 通過(guò)相鄰像素相減計(jì)算圖像梯度
        gy = abs(dog_f[x, y+1]-dog_f[x, y])
        gradient[x, y] = gx + gy

# plt.imshow(gradient, 'gray')
# plt.title("梯度圖")
# plt.show()

# 疊加原圖和梯度圖 就能夠?qū)崿F(xiàn)圖像銳化
# 將小于0 的像素設(shè)置為0 將大于255的像素設(shè)置為255

sharp = dog_f + gradient
sharp = np.where(sharp < 0, 0, np.where(sharp > 255, 255, sharp))


# 顯示圖像
gradient = gradient.astype("uint8")
sharp = sharp.astype("uint8")

plt.subplot(2, 2, 1), plt.imshow(dog), plt.title("原圖")
plt.subplot(2, 2, 2), plt.imshow(dog_f, "gray"), plt.title("灰度圖")
plt.subplot(2, 2, 3), plt.imshow(gradient, "gray"), plt.title("梯度圖")
plt.subplot(2, 2, 4), plt.imshow(sharp, "gray"), plt.title("銳化圖")
plt.show()

opencv 銳化,人工智能,opencv,圖像處理,計(jì)算機(jī)視覺(jué),python,人工智能文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-728653.html

到了這里,關(guān)于基于OpenCV的傳統(tǒng)視覺(jué)應(yīng)用 -- OpenCV圖像處理 圖像模糊處理 圖像銳化處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包