El algoritmo de Python corta automáticamente el video y el video es suave como la seda sin un editor de video

Cuando vi a personas que usaban software de edición de relaciones públicas para hacer este tipo de video de disfraces sedoso con un solo clic, quise probarlo yo mismo. Sin embargo, PR es demasiado difícil de usar, por lo que es mejor escribir el código para evitar problemas.

Al principio, quería usar la máscara moviepy.video.fx.all.mask_color de moviepy para el procesamiento, pero descubrí que la complejidad del reconocimiento de objetivos era demasiado alta. Luego cambia la forma de pensar y lidia con eso, será exitoso. Primero echemos un vistazo al producto terminado.

Demostración del algoritmo de cambio de ropa sedosa de Python

O la forma antigua de hablar primero sobre la configuración de la máquina, si la configuración de la máquina no es suficiente, no puedes jugar esto.

Requisitos de software, hardware y habilidades

  • La mejor CPU es I7-8750 o superior; de lo contrario, la producción general será muy lenta.
  • Python versión 3.6 y superior
  • Debido a los módulos involucrados en el aprendizaje profundo, a partir de ahora se requiere una tarjeta gráfica.

Descripción de la transformación del color.

  • Se admite una amplia gama de espacios de color. Como la conversión entre varios espacios de color como RGB, HSL/HSV, CMY/CMYK, etc. Por ejemplo, XYZ a sRGB, espectral a XYZ, CIE Lab a Adobe RGB.
  • Cálculo de diferencia de color.
  • Adaptación de color (cambio de fuente de luz).
  • RGB a hexadecimal y viceversa.

Complemento de la aplicación Python

colormath y MiVOS aplican ajustes de conversión de color e interactividad del módulo, respectivamente.

Proceso de pensamiento

¿Te estarás preguntando de dónde salió esta cosa?

En primer lugar, debemos comprender el método de conversión de cambio de color.

Ejemplo simple de conversión de CIE Lab a CIE XYZ.

from colormath.color_objects import LabColor, XYZColor
from colormath.color_conversions import convert_color

lab = LabColor(0.903, 16.296, -2.22)
xyz = convert_color(lab, XYZColor)

quiere convertir usando un espacio RGB diferente

from colormath.color_objects import XYZColor, HSLColor, AdobeRGBColor
from colormath.color_conversions import convert_color

xyz = XYZColor(0.1, 0.2, 0.3)
hsl = convert_color(xyz, HSLColor, through_rgb_type=AdobeRGBColor)
# 转换回 XYZ,确保在 return 时使用相同的 RGB 颜色空间。
xyz2 = convert_color(hsl, XYZColor, through_rgb_type=AdobeRGBColor)

Ecuación delta E

from colormath.color_objects import LabColor
from colormath.color_diff import delta_e_cie1976

# 参考颜色
color1 = LabColor(lab_l=0.9, lab_a=16.3, lab_b=-2.22)
# 与参考进行比较的颜色
color2 = LabColor(lab_l=0.7, lab_a=14.2, lab_b=-1.80)
# 作为浮点数的 delta E 值
delta_e = delta_e_cie1976(color1, color2)

Módulo MiVOS interactivo

Puede entender este lugar como el reemplazo de la imagen de efecto compuesto final cuadro por cuadro después de identificar el punto de color correspondiente.

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_20288327/article/details/123897091
Recomendado
Clasificación