Al igual que el principio del algoritmo de corrosión por expansión
Los principales usos de la expansión y la erosión:
Eliminar el ruido;
Segmentar elementos de imagen independientes y conectar elementos adyacentes en la imagen;
Busque áreas máximas o mínimas obvias en la imagen;
Encuentre el gradiente de la imagen;
Nota:
Corrosión y expansión Es para la pieza con un valor de píxel grande, es decir, la parte blanca resaltada en lugar de la parte negra;
La inflación es la expansión de la parte resaltada en la imagen, el área se expande y la imagen del efecto es más grande que la imagen original El área resaltada;
La corrosión significa que la parte resaltada de la imagen se corroe, el área se reduce y la imagen del efecto tiene un área resaltada más pequeña que la imagen original;
2
p>/9
Principio de expansión:
Expansión: encontrar el máximo local;
①Definir un núcleo de convolución B,
El núcleo puede tener cualquier forma y tamaño, y tiene un punto de referencia definido por separado: punto de anclaje;
Por lo general, la suma es un cuadrado o disco con un punto de referencia, y el núcleo puede ser Se llama plantilla o máscara
② Convoluciona el núcleo B con la imagen A y calcula el valor máximo de píxeles en el área cubierta por el núcleo B
③; Asigne este valor máximo al píxel especificado por el punto de referencia;
Como resultado, el área resaltada en la imagen crece gradualmente.
3
/9
Principio de corrosión:
Corrosión: mínimo local (opuesto a expansión);
①Defina un núcleo de convolución B.
El núcleo puede tener cualquier forma y tamaño, y tiene un punto de referencia definido por separado: punto de anclaje;
Por lo general, la suma es un cuadrado o disco con un punto de referencia, y el núcleo se puede llamar plantilla o máscara
② Convoluciona el núcleo B con la imagen A y calcula el valor mínimo de píxel del área cubierta por el núcleo B
③Asigne este valor mínimo al píxel especificado por el punto de referencia;
Por lo tanto, el área resaltada en la imagen disminuye gradualmente.
4
/9
Función de expansión-dilate() en OpenCV
Formato:
void dilatate (
InputArray src, //entrada
OutputArray dst, //salida
InputArray kernel, //tamaño del kernel
Punto de anclaje =Punto(-1,-1), //Posición del ancla, (-1,-1) es el centro
int iterations=1, //Número de iteraciones
int borderType= BORDER_CONSTANT, //Modo de píxeles del borde de la imagen
const Scalaramp; borderValue=morphologyDefaultBorderValue()//Valor del borde
)
Nota:
Acerca del núcleo, generalmente se usa con getStructuringElement();
getStructuringElement(): devuelve el elemento estructural de la forma y tamaño especificados;
Formato:
getStructuringElement(int forma, Tamaño ksize, Punto anclaje=Punto(-1,-1));
Parámetros:
forma: forma del núcleo de la mesa, rectángulo MORPH_RECT; forma de cruz MORPH_CROSS; elipse MORPH_ELLIPSE;
ksize: tamaño del núcleo;
ancla: la posición del punto de anclaje, que solo afecta el desplazamiento del resultado de la operación morfológica; p>
5
/9
Función de corrosión-erode() en OpenCV
Formato:
void erode(
InputArray src, //Entrada
OutputArray dst, //Salida
InputArray kernel, //Tamaño del kernel
Punto anclaje=Punto (-1,-1) , // Posición del ancla, (-1, -1) es el centro
int iterations=1, //Número de iteraciones
int borderType= BORDER_CONSTANT, //Modo de píxeles del borde de la imagen
const Scalaramp; borderValue=morphologyDefaultBorderValue()//valor del borde
)
6
/9
Operación abierta morfológica:
Operación abierta: el proceso de primera corrosión y luego expansión;
Función:
Eliminar pequeñas objetos;
Separar objetos en puntos delgados;
Suavizar límites más grandes no cambia significativamente su área;
7
/9
Operación de cierre morfológico:
Apertura de cierre, primero expansión y luego erosión;
Función:
Excluir pequeños agujeros negros (puntos negros)
8
/9
OpenCV: morphologyEx()
Función: la función morphologyEx utiliza técnicas básicas de expansión y erosión para realizar Transformaciones morfológicas más avanzadas,
como operaciones de apertura y cierre, gradiente morfológico, "sombrero de copa", "sombrero negro", etc.