import cv2 as cv
import numpy as np
img = cv.imread('dog.jpeg')
kernel = np.ones((5,5),np.float32)/25
dst = cv.filter2D(img, -1, kernel)
cv.imshow('dst', dst)
cv.imshow('img',img)
cv.waitKey(0)
boxFilter(src,ddepth,ksize, anchor,normalise, borderType)
blur(src,ksize,anchor,borderType)
import cv2 as cv
import numpy as np
img = cv.imread('dog.jpeg')
# kernel = np.ones((5,5),np.float32)/25
# dst = cv.filter2D(img, -1, kernel)
dst = cv.blur(img, (5, 5))
cv.imshow('dst', dst)
cv.imshow('img', img)
cv.waitKey(0)
import cv2 as cv
import numpy as np
img = cv.imread('dog.jpeg')
# kernel = np.ones((5,5),np.float32)/25
# dst = cv.filter2D(img, -1, kernel)
# dst = cv.blur(img, (5, 5))
dst = cv.GaussianBlur(img,(5,5),1)
cv.imshow('dst', dst)
cv.imshow('img', img)
cv.waitKey(0)
假设有一个数组[1556789],取其中的中间值作为卷积后的结果值,对胡椒噪音效果明显
优点:可以保留边缘,同时可以对边缘内的区域进行平滑处理,常见的用途是比如进行美颜
bilateralFilter(img,d,sigmaColor, sigmaSpace,…)
import cv2 as cv
import numpy as np
img = cv.imread('dog.jpeg')
# kernel = np.ones((5,5),np.float32)/25
# dst = cv.filter2D(img, -1, kernel)
# dst = cv.blur(img, (5, 5))
# dst = cv.GaussianBlur(img,(5,5),1) # 高斯滤波
# dst = cv.medianBlur(img, 3) # 中值滤波
dst = cv.bilateralFilter(img,7,20,50) # 双边滤波
cv.imshow('dst', dst)
cv.imshow('img', img)
cv.waitKey(0)
Laplacian(img,ddepth,dx,dy,scale=1,ksize=1,borderType = BORDER_DEFAULT)
import cv2 as cv
import numpy as np
img = cv.imread('./dog.jpeg')
dst = cv.Canny(img,100, 200)
cv.imshow('dst',dst)
cv.imshow('img', img)
cv.waitKey(0)