OpenCV 08邊緣保留濾波 EPF

2021-09-28 01:31:37 字數 1687 閱讀 6550

# -*- coding:utf-8 -*-

import cv2 as cv

import numpy as np

# 高斯雙邊模糊

defbi_demo

(image)

: dst = cv.bilateralfilter(image,0,

100,15)

cv.imshow(

"bi_demo"

, dst)

# 均值遷移

defshift_demo

(image)

: dst = cv.pyrmeanshiftfiltering(image,10,

50)cv.imshow(

"shift_demo"

, dst)

# 讀取

src = cv.imread(

"d:\python\projects\opencv_toturial\images\example.png"

)# 建立opencv的gui視窗

# cv.namedwindow("input image", cv.window_autosize)

# 將放入指定名字的視窗中顯示出來

cv.imshow(

"input image"

, src)

# bi_demo(src)

shift_demo(src)

# fill_color_demo(src)

# fill_binary_demo()

# 設定waitkey中的delay為0,程式會等待使用者操作後關閉視窗

cv.waitkey(0)

cv.destroyallwindows(

)

cv.bilateralfilter(src, d, sigmacolor, sigmaspace, dst =

none

, bordertype =

none

)

說明

1.一般sigmacolor取大一點,其目的是為了將小的差異模糊掉,就是將那些雜訊能夠去掉,sigmaspace空間差異取小一點,這樣核的規模就會小一點,如果sigmaspace太大,計算量就會很大

2.d是distance,如果d不為0,而且sigmaspace沒有輸入,就會從d計算sigmaspace,如果sigmacolor也沒輸入,那麼就會從sigmaspace計算sigmacolor

3.一般d取為0,輸入sigmacolor和sigmaspace,反算出d

)src:輸入的8-位元,3-通道圖象.

dst:和源圖象相同大小,相同格式的輸出圖象.

sp:空間窗的半徑

sr:色彩窗的半徑

Open Cv 邊緣保留濾波

import cv2 as cv import numpy as np 在進行模糊時,容易將影象的邊緣部分被模糊掉,從而使影象的立體感減少 epf可以在將非邊緣部分進行雜訊濾波的同時保留下邊緣部分的特點 defbi demo iamge 高斯雙邊模糊 dst cv.bilateralfilter i...

OpenCV 08 邊緣型別 自定義線性濾波 閾值

介紹幾種運算元 depth opencv中的概念 矩陣中元素的乙個通道的資料型別,這個值和type是相關的。例如 type為 cv 16sc2,乙個2通道的16位的有符號整數。那麼,depth則是cv 16s。depth也是一系列的預定義值,將type的預定義值去掉通道資訊就是depth值 0 6 ...

opencv基礎之邊緣保留濾波演算法

高斯濾波考慮了影象空間位置對權重的影響,離中心點越近權重越大。但是高斯濾波沒有考慮影象中的畫素分布對影象卷積輸出的影響。而高斯雙邊濾波則充分考慮了這一點,對畫素值空間分布差異較大的進行保留從而可以完整地保留影象的邊緣資訊。影象一定區域內的畫素分布是有一定規律的,要保留邊緣資訊,就應當只讓畫素值相近的...