📜  OpenCV-Filter2D(1)

📅  最后修改于: 2023-12-03 14:44:54.297000             🧑  作者: Mango

OpenCV-Filter2D

OpenCV-Filter2D is a function in the OpenCV library that performs a two-dimensional convolution operation on an input image with a given kernel. This can be useful for various image processing tasks such as smoothing, sharpening, edge detection, and more.

Syntax
cv.filter2D(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]])
  • src: input image
  • ddepth: desired depth of the destination image
  • kernel: convolution kernel
  • dst: output image
  • anchor: kernel anchor point. The default value is (-1, -1), which means that the anchor is at the center of the kernel
  • delta: optional value that is added to the filtered pixels before storing them in the output image
  • borderType: pixel extrapolation method
Example

Here is an example of how to use the OpenCV-Filter2D function in Python to apply a sharpening filter to an input image:

import cv2 as cv
import numpy as np

# Read in the input image
img = cv.imread('input.jpg')

# Define the sharpening kernel
kernel = np.array([[-1,-1,-1],[-1,9,-1],[-1,-1,-1]])

# Apply the sharpening filter
sharpened_img = cv.filter2D(img, -1, kernel)

# Save the output image
cv.imwrite('output.jpg', sharpened_img)

In this example, we first read in an input image using the cv.imread() function. We then define a sharpening kernel using a 3x3 array. Finally, we apply the filter using the cv.filter2D() function and save the output image using the cv.imwrite() function.

Conclusion

The OpenCV-Filter2D function is a powerful tool in the OpenCV library for performing two-dimensional convolutions on input images. It can be used for a variety of image processing tasks and is easily customizable with different kernels. With this function, programmers can enhance the quality and clarity of their images with just a few lines of code.