[200 rutinas OpenCV de youcans] 142. Suavizado de imágenes basado en morfología de escala de grises

Bienvenido a la serie de "rutinas OpenCV 200 de youcans" , continúe actualizándose
bienvenido a prestar atención a la serie "curso de aprendizaje de OpenCV de youcans" , que se actualiza continuamente


[200 rutinas OpenCV de youcans] 142. Suavizado de imágenes basado en morfología de escala de grises


5.4 Suavizado de imágenes con morfología en escala de grises

Debido al efecto inhibidor de la operación de apertura y la operación de cierre sobre los detalles brillantes y los detalles oscuros, realizar la operación de apertura y la operación de cierre sucesivamente en la imagen puede suprimir de manera efectiva los detalles, obtener una imagen suave y eliminar el ruido.

Usar la operación de apertura y la operación de cierre para suavizar la forma es realizar la operación de apertura y la operación de cierre alternativamente.

El valor de gris del píxel de la imagen se considera como la altura, y la imagen completa es como un mapa topográfico ondulado. El alisado morfológico consiste en excavar constantemente picos y rellenar valles, por lo que tiene el efecto de nivelar el terreno.

El suavizado morfológico se logra alternando operaciones de apertura y cierre, que se pueden definir como:

METRO suave ( f ) = ( f ∘ gb ) ∙ gb M_{suave}(f) = (f \circ _g b) \bullet _g bMETROsuave _ _ _ _ _( F )=( fgsegundo )gB


Rutina 10.33: suavizado de imágenes basado en morfología de escala de grises

La iluminación uniforme es importante para extraer objetos del fondo, y un uso importante de la transformación del sombrero de copa es corregir los efectos de la iluminación desigual.

Esta imagen de ejemplo se tomó en condiciones de iluminación no uniformes y las áreas oscuras en la parte inferior y derecha de la imagen son más notorias.

Si se utiliza el método de umbralización óptima de Otsu para binarizar la imagen en escala de grises directamente, la segmentación en el área oscura será incorrecta y algunos granos de arroz no se podrán extraer del fondo, mientras que en el área brillante en la esquina superior izquierda, parte del fondo se entenderá como granos de arroz.

Primero podemos realizar la operación de sombrero de copa en la imagen para reducir la diferencia entre el extremo brillante y el extremo oscuro de la imagen, y luego usar el método de umbral óptimo de Otsu para la binarización para obtener el resultado de umbral correcto.

    # 10.33: 基于灰度形态学的图像平滑
    imgGray = cv2.imread("../images/Fig0938a.tif", flags=0)  # flags=0 灰度图像

    # 用不同半径圆形结构元依次交替进行开运算-闭运算实现图像平滑
    kSize = (2, 2)
    element = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, kSize)  # 圆形结构元
    imgOpen1 = cv2.morphologyEx(imgGray, cv2.MORPH_OPEN, element)  # 灰度开运算
    imgClose1 = cv2.morphologyEx(imgOpen1, cv2.MORPH_CLOSE, element)  # 灰度闭运算
    imgIter = imgGray.copy()  # 循环交替进行开运算-闭运算
    for i in range(10):
        imgIter = cv2.morphologyEx(imgIter, cv2.MORPH_OPEN, element)
        imgIter = cv2.morphologyEx(imgIter, cv2.MORPH_CLOSE, element)

    plt.figure(figsize=(10, 6))
    plt.subplot(131), plt.title("Origin"), plt.axis('off')
    plt.imshow(imgGray, cmap='gray', vmin=0, vmax=255)
    plt.subplot(132), plt.title("Opening-closing (ksize=2)"), plt.axis('off')
    plt.imshow(imgClose1, cmap='gray', vmin=0, vmax=255)
    plt.subplot(133), plt.title("Opening-closing (iter=10)"), plt.axis('off')
    plt.imshow(imgIter, cmap='gray', vmin=0, vmax=255)
    plt.tight_layout()
    plt.show()

inserte la descripción de la imagen aquí


(Fin de esta sección)


Aviso de copyright:

Trabajos originales de Youcans@xupt, las reimpresiones deben estar marcadas con el enlace original: (https://blog.csdn.net/youcans/article/details/123566062)

Copyright 2022 youcans, XUPT
Creado:2022-3-24


Bienvenido a la serie de "rutinas OpenCV 200 de youcans" , continúe actualizándose
bienvenido a prestar atención a la serie "curso de aprendizaje de OpenCV de youcans" , que se actualiza continuamente

[Rutinas OpenCV de youcans 200] 01. Lectura de imágenes (cv2.imread)
[rutinas OpenCV de youcans 200] 02. Guardado de imágenes (cv2.imwrite)
[rutinas OpenCV de youcans 200] 03. Visualización de imágenes (cv2.imshow)
[rutinas OpenCV de youcans 200] 04. Mostrar imágenes con matplotlib (plt.imshow)
[rutinas OpenCV de youcans 200] 05. Atributos de imagen (np.shape)
[rutinas OpenCV de youcans 200] 06. Edición de píxeles (img.itemset)
[rutinas OpenCV de youcans 200] 07. Creación de imágenes (np.zeros)
[rutinas OpenCV 200 de youcans] 08. Duplicación de imágenes ( np.copy)
[rutinas OpenCV 200 de Youcans] 09. Recorte de imágenes (cv2.selectROI)
[rutinas OpenCV 200 de youcans] 10. Unión de imágenes ( np.hstack)
[rutinas OpenCV de youcans 200 ] 11. División de canales de imagen (cv2.split)
[200 rutinas OpenCV de youcans] 12. Fusión de canales de imagen (cv2.merge)
[200 rutinas OpenCV de youcans] 13. Adición de imágenes (cv2 .add )
[200 rutinas OpenCV de youcans] 14. Adición de imágenes y escalares (cv2.add)
[200 rutinas OpenCV de youcans] 15. Adición ponderada de imágenes (cv2.addWeight)
[200 rutinas OpenCV de youcans] 16. Adición de imágenes de diferentes tamaños
[200 rutinas OpenCV de youcans] 17. Cambio de gradiente de dos imágenes
[rutinas OpenCV de youcans 200 ] 18. Adición de máscara de imagen
[rutinas OpenCV 200 de youcans] 19. Máscara circular de imagen
[rutinas OpenCV 200 de youcans] 20. Operación de bit de presión de imagen
[rutinas OpenCV 200 de youcans] 21. Superposición de imagen
[rutinas OpenCV 200 de youcans] 22. Adición de imágenes no -Texto en chino [rutinas OpenCV 200 de youcans
] 23. Adición de texto en chino
[rutinas OpenCV 200 de youcans] 24. Transformación afín de imágenes
[rutinas OpenCV 200 de youcans] 25. Traducción de imágenes [rutinas OpenCV 200
de youcans] 26. Rotación de imágenes (centrado en el origen)
[200 rutinas OpenCV de youcans] 27. Rotación de imagen (centrada en cualquier punto)
[rutinas OpenCV 200 de youcans] 28. Rotación de imagen (rotación en ángulo recto)
[rutinas OpenCV 200 de youcans] 29. Inversión de imagen (cv2.flip)
[200 rutinas OpenCV de youcans] 30. Escalado de imágenes (cv2.resize)
[Rutinas OpenCV de youcans 200] 31. Pirámide de imagen (cv2.pyrDown)
[rutinas OpenCV de youcans 200] 32. Distorsión de imagen (miscut)
[rutinas OpenCV de youcans 200] 33. Transformación de imagen compuesta
[rutinas OpenCV de youcans 200] 34. Transformación de proyección de imagen
[rutinas OpenCV de youcans 200] 35. Transformación de proyección de imagen (relleno de límites)
[rutinas OpenCV de youcans 200] 36. Coordenadas cartesianas y conversión de coordenadas polares
[rutinas OpenCV de youcans 200] 37. Procesamiento y binarización de imágenes en escala de grises
[rutinas OpenCV de youcans 200] 38. Transformación inversa de color (inversión de imagen)
[rutinas OpenCV de youcans 200 artículos] 39. Transformación lineal de imagen en escala de grises
[rutinas OpenCV de youcans 200 artículos] 40. Transformación lineal en escala de grises por partes de imagen
[rutinas OpenCV de youcans 200 artículos] 41. Transformación de escala de grises de imagen Capas de nivel de grado)
[rutinas OpenCV de youcans 200] 42. Transformación de escala de grises de imagen (capas de plano de bits)
[rutinas OpenCV de youcans 200] 43. Transformación de escala de grises de imagen (transformación logarítmica)
[artículos de rutinas OpenCV de youcans 200] 44. Transformación de imágenes en escala de grises ( transformación gamma)
[200 artículos de rutinas OpenCV de youcans] 45. Histograma de imágenes en escala de grises
[200 artículos de rutinas OpenCV de youcans] 46. Cambio de ecualización de histograma
[Rutinas OpenCV de youcans 200 artículos] 47. Mejora de imagen - coincidencia de histograma
[rutinas OpenCV de youcans 200 artículos] 48. Mejora de imagen - coincidencia de histograma de color
[rutinas OpenCV de youcans 200 artículos] 49. Mejora de imagen - procesamiento de histograma local
[rutinas OpenCV de youcans 200 artículos ] 50. Mejora de imagen: mejora de imagen de estadísticas de histograma
[200 artículos de rutinas OpenCV de youcans] 51. Mejora de imagen: seguimiento inverso de histograma
[200 artículos de rutinas OpenCV de youcans] ] 52. Operaciones de convolución y correlación de imágenes
[200 artículos de rutinas OpenCV de youcans] 53. Implementos Scipy convolución de imagen bidimensional
[rutinas OpenCV 200 de youcans] 54. OpenCV implementa convolución de imagen bidimensional
[rutinas OpenCV 200 de youcans] 55. Núcleo de convolución separable
[rutinas OpenCV 200 de youcans] 56. Filtro de caja de paso bajo
[rutinas OpenCV 200 de youcans] 57. Filtro gaussiano de paso bajo
[ejemplo OpenCV de youcans] Cheng 200 artículos] 58. Filtrado no lineal: filtrado mediano
[rutinas OpenCV de youcans 200 artículos] 59. Filtrado no lineal: filtrado bilateral
[rutinas OpenCV de youcans 200 artículos] 60. Filtrado no lineal - filtrado bilateral conjunto
[youcans 200 artículos de rutinas OpenCV] 61. Filtro guiado
[200 artículos de rutinas OpenCV de youcans] 62. Nitidez de imagen - enmascaramiento de pasivación
[Rutinas OpenCV de youcans 200] 63. Nitidez de imagen: operador laplaciano
[rutinas OpenCV de youcans 200] 64. Nitidez de imagen: operador Sobel
[rutinas OpenCV de youcans 200] 65. Nitidez de imagen: operador
Scharr [rutinas OpenCV de youcans 200] 66. Filtrado de imágenes bajo -pass/high-pass/band-stop/band-pass
[rutinas OpenCV de youcans 200] 67. Aplicación integral de mejora de imagen de dominio espacial
[rutinas OpenCV de youcans 200 artículos] 68. Aplicación integral de mejora de imagen de dominio espacial
[rutinas OpenCV de youcans 200 artículos] 69. Coeficientes de Fourier de señales continuas no periódicas
[rutinas OpenCV de youcans 200 artículos] 70. Función continua unidimensional Transformada de Fourier de
[rutinas OpenCV de youcans 200] 71. Muestreo de funciones continuas
[rutinas OpenCV de youcans 200] 72. Uno transformada de Fourier discreta
bidimensional [rutinas OpenCV de youcans 200] 73. Transformada de Fourier continua
bidimensional [rutinas OpenCV de youcans 200] 74.
Suavizado de imagen [rutinas OpenCV de youcans 200] 75. Numpy implementa la transformada de Fourier de imagen
[rutinas OpenCV de youcans 200] 76 OpenCV implementa la transformada de Fourier de imagen
[las rutinas OpenCV de youcans 200] 77. OpenCV implementa la transformada rápida de Fourier
[Rutinas OpenCV de youcans 200] 78. Conceptos básicos del filtrado de imágenes en el dominio de la frecuencia
[rutinas OpenCV de youcans 200] 79. Pasos básicos del filtrado de imágenes en el dominio de la frecuencia
[rutinas OpenCV de youcans 200] 80. Filtrado de imágenes en el dominio de la frecuencia en detalle Pasos
[rutinas OpenCV de youcans 200] 81. Filtro de paso bajo gaussiano en el dominio de la frecuencia
[rutinas OpenCV de youcans 200] 82. Filtro de paso bajo Butterworth en el dominio de la frecuencia
[rutinas OpenCV de youcans 200] 83. Filtrado de paso bajo en el dominio de la frecuencia: reparación de caracteres de texto impresos
[rutinas OpenCV de youcans 200] 84 Obtención de filtros de paso alto a partir de filtros de paso bajo
[rutinas OpenCV de youcans 200] 85. Aplicación de filtros de paso alto en el dominio de la frecuencia
[200 artículos de rutinas OpenCV de youcans] 86. Aplicación del filtrado en el dominio de la frecuencia: procesamiento de imágenes de huellas dactilares
[200 artículos de rutinas OpenCV de youcans] 87. Enmascaramiento de pasivación del dominio de frecuencia
[200 artículos de rutinas OpenCV de youcans] 88. Laplaciano de dominio de frecuencia Filtrado de paso alto
[rutinas OpenCV de youcans 200] 89. Función de transferencia de filtro de parada de banda
[de youcans Rutinas de OpenCV 200] 90. Filtro de muesca en el dominio de la frecuencia
[rutinas de OpenCV de youcans 200] 91. Ruido gaussiano, ruido de Rayleigh, ruido irlandés
[rutinas de OpenCV de youcans 200] 92. Ruido exponencial, ruido uniforme, ruido de sal y pimienta
[rutinas de OpenCV de youcans 200] 93. Histograma del modelo de ruido
[Rutinas OpenCV de youcans 200] 94. Filtro de media aritmética
[rutinas OpenCV de youcans 200] 95. Filtro de media geométrica
[rutinas OpenCV de youcans 200] 96. Filtro de promedio armónico
[rutinas OpenCV 200 de youcans] 97. Filtro de promedio armónico inverso
[rutinas OpenCV de youcans 200 ] ] 98. Filtro de clasificación estadística
[rutinas OpenCV de youcans 200] 99. Filtro medio alfa corregido
[rutinas OpenCV de youcans] 200 artículos] 100. Filtro de reducción de ruido local adaptativo
[rutinas OpenCV de youcans 200 artículos] 101. Filtro mediano adaptativo
[rutinas OpenCV de youcans 200 artículos] 102. La función de transferencia del filtro de supresión de banda de muesca
[rutinas OpenCV de Youcans 200] 103. Filtro de supresión de banda de muesca para eliminar la interferencia de ruido periódico
[rutinas OpenCV de youcans 200] 104. Modelo de degradación del desenfoque de movimiento
[rutinas OpenCV de youcans 200] 105. Modelo de degradación de desenfoque de turbulencia
[rutinas OpenCV 200 de Youcans] 106. Filtrado inverso de imágenes degradadas
[rutinas OpenCV 200 de youcans] 107. Filtrado Wiener de imágenes degradadas
[rutinas OpenCV 200 de youcans] 108. Filtrado por mínimos cuadrados
restringidos [rutinas OpenCV 200 de youcans] ] 109. Filtrado de medias geométricas
[Rutinas OpenCV de youcans 200 artículos] 110. Proyección y transformada de Raiden
[rutinas OpenCV de youcans 200 artículos] 111. Imágenes reconstruidas de retroproyección transformadas de Raiden
[rutinas OpenCV de youcans 200 artículos] 112. Imágenes reconstruidas de retroproyección filtradas
[200 rutinas OpenCV de youcans ] 113. Corrosión de operaciones morfológicas
[200 rutinas OpenCV de youcans] 114.
Dilatación de operaciones morfológicas [200 rutinas OpenCV de youcans] 115. Operación abierta de operaciones morfológicas
[ Rutinas OpenCV de Youcans 200 artículos] 116. La operación cerrada de operaciones morfológicas
[ rutinas OpenCV de youcans 200 artículos] 117. La operación del sombrero de copa de las operaciones morfológicas
[rutinas OpenCV de youcans 200 artículos] 118. La parte inferior de las operaciones morfológicas Operación del sombrero
[rutinas OpenCV de youcans 200 artículos] 119. Gradientes morfológicos de imágenes
[rutinas OpenCV de youcans 200 artículos ] 120. transformación hit-hit-miss
[rutinas OpenCV de youcans 200 artículos] 121. hit-Missed para reconocimiento de características
[rutinas OpenCV de youcans 200] 122. Extracción de límites de algoritmos morfológicos
[rutinas OpenCV de youcans 200] 123. Relleno de huecos de algoritmos
[200 rutinas OpenCV de youcans] 124. Algoritmo de inundación para relleno de huecos
[200 rutinas OpenCV de youcans] 125. Extracción de componentes conectados por algoritmo morfológico
[Rutinas OpenCV de Youcans 200] 126. Casco convexo de algoritmos morfológicos
[Rutinas OpenCV de Youcans 200] 127. Refinamiento de algoritmos morfológicos
[Rutinas OpenCV de Youcans 200] 128. El esqueleto del algoritmo morfológico (skimage)
[Rutinas OpenCV de Youcans 200] 129. El esqueleto del algoritmo morfológico (operación de reconstrucción)
[rutinas OpenCV de youcans 200] 130. Extracción morfológica de líneas horizontales y verticales
[rutinas OpenCV de youcans 200] 131. Reconstrucción morfológica de extracción de caracteres de líneas verticales
[rutinas OpenCV de youcans 200] 132. Reconstrucción morfológica del algoritmo de llenado de huecos
[rutinas OpenCV de youcans 200] 133. Reconstrucción morfológica del despeje de límites
[rutinas OpenCV de youcans 200 ] Artículos] 134. Recuento celular de la reconstrucción morfológica
[200 Rutinas OpenCV de Youcans] 135. Determinación de la granularidad de la reconstrucción morfológica
[200 OpenCV Routines of Youcans] 136. Grayscale Erosion and Grayscale
Dilation [OpenCV Example of Youcans] Programa 200 artículos] 137. Principios de operación abierta en escala de grises y operación cerrada en escala de grises
[rutinas OpenCV de youcans 200 artículos] 138. Operación abierta en escala de grises y operación cerrada en escala de grises
[ rutinas OpenCV de youcans 200 artículos] 139. Transformación de sombrero de copa en escala de grises para corregir sombras
[rutinas de OpenCV de youcans 200 artículos] 140. Transformación de sombrero de copa en escala de grises para corregir iluminación
[Rutinas OpenCV de Youcans 200] 141. Mapa topográfico 3D de la transformación del sombrero de fondo en escala de grises
[Rutinas OpenCV de Youcans 200] 142. Suavizado de imágenes basado en morfología de escala de grises

Supongo que te gusta

Origin blog.csdn.net/youcans/article/details/123566062
Recomendado
Clasificación