¿Es esto aprendible? Cómo desenvolver la piel en Python

Para el procesamiento de imágenes complejas como la microdermoabrasión, obviamente es más complicado usar un paquete de computación científica como scipy, por lo que se usa el artefacto opencv.

pip install opencv-python

La esencia de la microdermoabrasión es difuminar la superficie, pero usar el desenfoque directamente difuminará los bordes del contorno. Por lo tanto, es necesario utilizar el filtrado bilateral, un filtro que puede desempeñar un papel de conservación de bordes,

Dado que opencv viene con una ventana para mostrar imágenes, no es necesario importar otros paquetes de dibujo. Primero, abre una imagen.

import numpy as np
import cv2

img = cv2.imread("dip.jpg")
cv2.imshow("test",img)

como muestra la imagen

inserte la descripción de la imagen aquí

Primero, realice un filtrado bilateral en la imagen.

#双边滤波,三个参数分别是
biImg = cv2.bilateralFilter(img,50,50,50)
ck = np.append(img,biIimg,axis=1)       #拼接处理前后的图像,用于对比
cv2.imshow("comparison",ck)

La comparación es la siguiente, se puede ver que se ha producido un poco de efecto, y la piel ha mejorado evidentemente, como si se hubiera aplicado la placenta de oveja.

inserte la descripción de la imagen aquí

Entre ellos, bilateralFilterla función de filtrado bilateral en opencv, que agrega factores de ponderación relacionados con los bordes sobre la base del filtrado de Gauss. Por lo tanto, el filtrado bilateral puede entenderse como borde de búsqueda de umbral + filtrado de Gauss. Después de encontrar el borde, use el filtrado de Gauss en áreas que no sean de borde y reduzca el peso del filtrado de Gauss para las áreas más parecidas a bordes. Por lo tanto, además imgde la imagen a procesar, los parámetros de entrada son el radio del filtro, la desviación estándar de la función de filtro gaussiano y la desviación estándar de la función de umbral, respectivamente.

Supongo que te gusta

Origin blog.csdn.net/m0_37816922/article/details/123421520
Recomendado
Clasificación