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

opencv-34 圖像平滑處理-2D 卷積 cv2.filter2D()

這篇具有很好參考價(jià)值的文章主要介紹了opencv-34 圖像平滑處理-2D 卷積 cv2.filter2D()。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

2D卷積是一種圖像處理和計(jì)算機(jī)視覺(jué)中常用的操作,用于在圖像上應(yīng)用濾波器或卷積核,從而對(duì)圖像進(jìn)行特征提取、平滑處理或邊緣檢測(cè)等操作。

在2D卷積中,圖像和卷積核都是二維的矩陣或數(shù)組。卷積操作將卷積核在圖像上滑動(dòng),對(duì)每個(gè)局部區(qū)域進(jìn)行元素級(jí)別的乘法和累加操作,得到輸出圖像的對(duì)應(yīng)位置的像素值。

OpenCV 提供了多種濾波方式,來(lái)實(shí)現(xiàn)平滑圖像的效果,例如均值濾波、方框?yàn)V波、高斯濾波、中值濾波等。大多數(shù)濾波方式所使用的卷積核都具有一定的靈活性,能夠方便地設(shè)置卷積核的大小和數(shù)值。但是,我們有時(shí)希望使用特定的卷積核實(shí)現(xiàn)卷積操作,例如使用如下卷積核進(jìn)行卷積操作。

opencv-34 圖像平滑處理-2D 卷積 cv2.filter2D(),opencv,計(jì)算機(jī)視覺(jué),opencv,人工智能,計(jì)算機(jī)視覺(jué)
前面介紹過(guò)的濾波函數(shù)都無(wú)法將卷積核確定為上述形式,這時(shí)要使用 OpenCV 的自定義卷積函數(shù)。
在 OpenCV 中,允許用戶(hù)自定義卷積核實(shí)現(xiàn)卷積操作,使用自定義卷積核實(shí)現(xiàn)卷積操作的函數(shù)是 cv2.filter2D(),其語(yǔ)法格式為:

dst = cv2.filter2D( src, ddepth, kernel, anchor, delta, borderType )

式中:

  1. dst 是返回值,表示進(jìn)行方框?yàn)V波后得到的處理結(jié)果。
  2. src 是需要處理的圖像,即原始圖像。它能夠有任意數(shù)量的通道,并能對(duì)各個(gè)通道獨(dú)立
    處理。圖像深度應(yīng)該是 CV_8U、CV_16U、CV_16S、CV_32F 或者 CV_64F 中的一種。
  3. ddepth 是處理結(jié)果圖像的圖像深度,一般使用-1 表示與原始圖像使用相同的圖像深度。
  4. kernel 是卷積核,是一個(gè)單通道的數(shù)組。如果想在處理彩色圖像時(shí),讓每個(gè)通道使用不同的核,則必須將彩色圖像分解后使用不同的核完成操作。
  5. anchor 是錨點(diǎn),其默認(rèn)值是(-1, -1),表示當(dāng)前計(jì)算均值的點(diǎn)位于核的中心點(diǎn)位置。該值使用默認(rèn)值即可,在特殊情況下可以指定不同的點(diǎn)作為錨點(diǎn)。
  6. delta 是修正值,它是可選項(xiàng)。如果該值存在,會(huì)在基礎(chǔ)濾波的結(jié)果上加上該值作為最終的濾波處理結(jié)果。
  7. borderType 是邊界樣式,該值決定了以何種情況處理邊界,通常使用默認(rèn)值即可。

在通常情況下,使用濾波函數(shù) cv2.filter2D()時(shí),對(duì)于參數(shù)錨點(diǎn) anchor、修正值 delta、邊界樣式 borderType,直接采用其默認(rèn)值即可。因此,函數(shù) cv2.filter2D()的常用形式為:

dst = cv2.filter2D( src, ddepth, kernel )

示例:

自定義一個(gè)卷積核,通過(guò)函數(shù) cv2.filter2D()應(yīng)用該卷積核對(duì)圖像進(jìn)行濾波操作,并顯示濾波結(jié)果。

設(shè)計(jì)一個(gè) 9×9 大小的卷積核,讓卷積核內(nèi)所有權(quán)重值相等,如下所示:

opencv-34 圖像平滑處理-2D 卷積 cv2.filter2D(),opencv,計(jì)算機(jī)視覺(jué),opencv,人工智能,計(jì)算機(jī)視覺(jué)
借助 numpy 庫(kù)中的 ones()函數(shù)即可創(chuàng)建該卷積核,具體的語(yǔ)句為:

kernel = np.ones((9,9),np.float32)/81

綜上所述,程序設(shè)計(jì)代碼如下:

import cv2
import numpy as np
o=cv2.imread("lena.png")
kernel = np.ones((9,9),np.float32)/81
r = cv2.filter2D(o,-1,kernel)
cv2.imshow("original",o)
cv2.imshow("Gaussian",r)
cv2.waitKey()
cv2.destroyAllWindows()

運(yùn)行結(jié)果
opencv-34 圖像平滑處理-2D 卷積 cv2.filter2D(),opencv,計(jì)算機(jī)視覺(jué),opencv,人工智能,計(jì)算機(jī)視覺(jué)
當(dāng)然,本例中使用的卷積核比較簡(jiǎn)單,該濾波操作與直接使用均值濾波語(yǔ)句“r=cv2.blur(o,(5,5))”的效果是一樣的。在實(shí)際應(yīng)用中,可以定義更復(fù)雜的卷積核實(shí)現(xiàn)自定義濾波操作。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-624038.html

到了這里,關(guān)于opencv-34 圖像平滑處理-2D 卷積 cv2.filter2D()的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(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)文章

  • opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter()

    opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter()

    方框?yàn)V波(Box Filtering)是一種簡(jiǎn)單的圖像平滑處理方法,它主要用于去除圖像中的噪聲和減少細(xì)節(jié),同時(shí)保持圖像的整體亮度分布。 方框?yàn)V波的原理很簡(jiǎn)單:對(duì)于圖像中的每個(gè)像素,將其周?chē)囊粋€(gè)固定大小的鄰域內(nèi)的像素值取平均,然后將這個(gè)平均值賦值給當(dāng)前像素。這

    2024年02月14日
    瀏覽(19)
  • opencv 30 -圖像平滑處理01-均值濾波 cv2.blur()

    opencv 30 -圖像平滑處理01-均值濾波 cv2.blur()

    圖像平滑處理(Image Smoothing)是一種圖像處理技術(shù),旨在減少圖像中的噪聲、去除細(xì)節(jié)并平滑圖像的過(guò)渡部分。這種處理常用于預(yù)處理圖像,以便在后續(xù)圖像處理任務(wù)中獲得更好的結(jié)果。 常用的圖像平滑處理方法包括: 均值濾波(Mean Filtering) :用圖像中像素周?chē)鷧^(qū)域的平

    2024年02月01日
    瀏覽(88)
  • opencv(15) 圖像平滑處理之二:cv2.GaussianBlur()高斯濾波

    opencv(15) 圖像平滑處理之二:cv2.GaussianBlur()高斯濾波

    高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應(yīng)用于圖像處理的減噪過(guò)程。 高斯模板是通過(guò)對(duì)二維高斯函數(shù)進(jìn)行采樣(高斯模糊的卷積核里的數(shù)值滿(mǎn)足高斯分布)、量化并歸一化得到的,它考慮了鄰域像素位置的影響,距離當(dāng)前被平滑像素越近的點(diǎn),加權(quán)系數(shù)越大

    2024年02月10日
    瀏覽(97)
  • 【C++】【Opencv】cv::GaussianBlur、cv::filter2D()函數(shù)詳解和示例

    【C++】【Opencv】cv::GaussianBlur、cv::filter2D()函數(shù)詳解和示例

    本文通過(guò)函數(shù)詳解和運(yùn)行示例對(duì)cv::GaussianBlur和cv::filter2D()兩個(gè)函數(shù)進(jìn)行解讀,最后綜合了兩個(gè)函數(shù)的關(guān)系和區(qū)別,以幫助大家理解和使用。 cv::GaussianBlur 是 OpenCV 庫(kù)中的一個(gè)函數(shù),用于對(duì)圖像進(jìn)行高斯模糊。高斯模糊是一種常見(jiàn)的圖像降噪技術(shù),它通過(guò)使用高斯函數(shù)對(duì)圖像進(jìn)

    2024年02月04日
    瀏覽(41)
  • 我在Vscode學(xué)OpenCV 圖像處理四(輪廓查找 cv2.findContours() cv2.drawContours())-- 待補(bǔ)充

    我在Vscode學(xué)OpenCV 圖像處理四(輪廓查找 cv2.findContours() cv2.drawContours())-- 待補(bǔ)充

    在OpenCV中,邊緣檢測(cè)和輪廓查找是兩個(gè)不同的圖像處理任務(wù),它們有不同的目標(biāo)和應(yīng)用。 1.1.1 邊緣檢測(cè): 定義: 邊緣檢測(cè)是指尋找圖像中灰度級(jí)別變化明顯的地方,即圖像中物體之間的界限。這些變化通常表示圖像中的邊緣或輪廓。 方法: 常用的邊緣檢測(cè)算法包括Sobel、

    2024年02月03日
    瀏覽(95)
  • python --opencv圖像處理濾波詳解(均值濾波、2D 圖像卷積、方框?yàn)V波、 高斯濾波、中值濾波、雙邊濾波)

    python --opencv圖像處理濾波詳解(均值濾波、2D 圖像卷積、方框?yàn)V波、 高斯濾波、中值濾波、雙邊濾波)

    第一件事情還是先做名詞解釋?zhuān)瑘D像平滑到底是個(gè)啥? 從字面意思理解貌似圖像平滑好像是在說(shuō)圖像滑動(dòng)。 emmmmmmmmmmmmmmm。。。。 其實(shí)半毛錢(qián)關(guān)系也沒(méi)有,圖像平滑技術(shù)通常也被成為圖像濾波技術(shù)(這個(gè)名字看到可能大家會(huì)有點(diǎn)感覺(jué))。 每一幅圖像都包含某種程度的噪聲,

    2024年02月04日
    瀏覽(96)
  • 【OpenCV】仿射變換中cv2.estimateAffine2D 的原理

    【OpenCV】仿射變換中cv2.estimateAffine2D 的原理

    目錄 一、介紹 二、仿射變換矩陣 (M) 1.M中六個(gè)元素的說(shuō)明 2.計(jì)算旋轉(zhuǎn)角度 3.M的計(jì)算過(guò)程 三、輸出狀態(tài) (inliers) 四、錯(cuò)切參數(shù) 1.錯(cuò)切參數(shù)的定義 2.錯(cuò)切參數(shù)例子 (1)水平錯(cuò)切 (2)垂直錯(cuò)切 ????????cv2.estimateAffine2D?是 OpenCV 庫(kù)中的一個(gè)函數(shù),用于估計(jì)兩個(gè)二維點(diǎn)集之間的

    2024年02月04日
    瀏覽(56)
  • opencv圖像旋轉(zhuǎn)和翻轉(zhuǎn),cv2.flip,cv2.rotate

    opencv圖像旋轉(zhuǎn)和翻轉(zhuǎn),cv2.flip,cv2.rotate

    目錄 翻轉(zhuǎn)圖像 圖像旋轉(zhuǎn) ? ? ? ? opencv中使用cv2.filp可以實(shí)現(xiàn)圖像翻轉(zhuǎn) src:輸入圖像 flipCode:flipCode 一個(gè)標(biāo)志來(lái)指定如何翻轉(zhuǎn)數(shù)組;0表示上下翻轉(zhuǎn),正數(shù)表示左右翻轉(zhuǎn),負(fù)數(shù)表示上下左右都翻轉(zhuǎn)。 dst:輸出圖像 ????????下面代碼對(duì)圖像進(jìn)行不同旋轉(zhuǎn)。 ? ? ? ? opencv中使

    2024年02月15日
    瀏覽(228)
  • opencv圖像仿射變換,cv2.warpAffine

    opencv圖像仿射變換,cv2.warpAffine

    目錄 仿射變換原理介紹 cv2.warpAffine函數(shù)介紹 代碼實(shí)例? ? ? ? ? 仿射變換 ,又稱(chēng) 仿射映射 ,是指在幾何中,一個(gè)向量空間進(jìn)行一次線性變換并接上一個(gè)平移,變換為另一個(gè)向量空間。 ????????在有限維的情況,每個(gè)仿射變換可以由一個(gè)矩陣A和一個(gè)向量b給出,它可以寫(xiě)

    2024年02月05日
    瀏覽(96)
  • opencv(4): cv2.imwrite()圖像的保存

    語(yǔ)法格式:retval = cv2.imwrite(filename, image [, paras]) 參數(shù)說(shuō)明: filename :代表文件名的字符串。文件名必須包含圖像格式,例如.jpg,.png等。 image :圖像數(shù)據(jù)矩陣 paras: 不同編碼格式的參數(shù),可選項(xiàng) cv2.CV_IMWRITE_JPEG_QUALITY :設(shè)置 .jpeg/.jpg 格式的圖片質(zhì)量,取值為 0-100(默認(rèn)值 95)

    2024年02月01日
    瀏覽(101)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包