2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
en OpenCVfilter2D
La función es una herramienta muy poderosa para convolucionar imágenes y aplicar varios filtros lineales. Esta función procesa cada píxel de la imagen y modifica las características de la imagen convolucionándola con un núcleo de convolución (o filtro) específico.Lo siguiente es sobrefilter2D
Introducción detallada de la función:
En OpenCV,filter2D
El prototipo de la función es el siguiente:
void cv::filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel,
Point anchor = Point(-1,-1), double delta = 0,
int borderType = BORDER_DEFAULT);
src
Tener el mismo tamaño y número de canales.dst
agregado previamente a los píxeles filtrados.BORDER_CONSTANT
、BORDER_REPLICATE
、BORDER_REFLECT
esperar.filter2D
La función en realidad realiza una operación de convolución (aunque técnicamente calcula una correlación en lugar de una convolución estricta, ya que no implica ningún cambio del núcleo). La operación de convolución implica "deslizar" el núcleo de convolución sobre la imagen de entrada, multiplicar los elementos correspondientes de cada submatriz del mismo tamaño que el núcleo de convolución y luego sumar los resultados. Este proceso genera un nuevo valor de píxel que se coloca en la ubicación correspondiente en la imagen de salida. A medida que el núcleo de convolución se desliza sobre toda la imagen de entrada, este proceso se repite hasta que se genera la imagen de salida completa.
Al cambiar el núcleo de convolución,filter2D
Las funciones pueden lograr una variedad de efectos de procesamiento de imágenes, que incluyen, entre otros:
filter2D
La función en sí no proporciona directamente la generación de núcleos gaussianos, pero se puede pasargetGaussianKernel
La función genera un núcleo gaussiano y utilizafilter2D
Realizar filtrado gaussiano.El siguiente es un uso.filter2D
Código de ejemplo para la función de filtrado medio (versión Python):
#include