filter2D
Convolves an image with the kernel.
-
C++:
void
filter2D
(InputArray
src, OutputArray
dst, int
ddepth, InputArray
kernel, Point
anchor=Point(-1,-1), double
delta=0, int
borderType=BORDER_DEFAULT
)
-
Python:
cv2.
filter2D
(src, ddepth, kernel
[, dst
[, anchor
[, delta
[, borderType
]
]
]
]
) → dst
-
C:
void
cvFilter2D
(const CvArr*
src, CvArr*
dst, const CvMat*
kernel, CvPoint
anchor=cvPoint(-1,-1)
)
-
Python:
cv.
Filter2D
(src, dst, kernel, anchor=(-1, -1)
) → None
-
Parameters: - src – input image.
- dst – output image of the same size and the same number of channels as src.
- ddepth –
-
desired depth of the destination image; if it is negative, it will be the same as
src.depth(); the following combinations of
src.depth() and
ddepth are supported:
-
- src.depth() = CV_8U, ddepth = -1/CV_16S/CV_32F/CV_64F
- src.depth() = CV_16U/CV_16S, ddepth = -1/CV_32F/CV_64F
- src.depth() = CV_32F, ddepth = -1/CV_32F/CV_64F
- src.depth() = CV_64F, ddepth = -1/CV_64F
when ddepth=-1, the output image will have the same depth as the source.
-
- kernel – convolution kernel (or rather a correlation kernel), a single-channel floating point matrix; if you want to apply different kernels to different channels, split the image into separate color planes using split() and process them individually.
- anchor – anchor of the kernel that indicates the relative position of a filtered point within the kernel; the anchor should lie within the kernel; default value (-1,-1) means that the anchor is at the kernel center.
- delta – optional value added to the filtered pixels before storing them in dst.
- borderType – pixel extrapolation method (seeborderInterpolate() for details).
The function applies an arbitrary linear filter to an image. In-place operation is supported. When the aperture is partially outside the image, the function interpolates outlier pixel values according to the specified border mode.
# -*- coding: utf-8 -*-
#卷积滤波
#code:myhaspl@myhaspl.com
import cv2
import numpy as np
fn="test2.jpg"
myimg=cv2.imread(fn)
img=cv2.cvtColor(myimg,cv2.COLOR_BGR2GRAY)
myh=np.array([[0,1,0],[1,-4,1],[0,1,0]])
jgimg=cv2.filter2D(img,-1,myh)
cv2.imshow('src',img)
cv2.imshow('dst',jgimg)
cv2.waitKey()
cv2.destroyAllWindows()