1. Efeitos visuais
Introdução aos efeitos visuais
Hoje a gente vai aprender não só a alterar brilho e contraste, mas também a dar aquele estilo especial às suas criações, digno de blockbuster de Hollywood. Ou pelo menos fazer seu vídeo ficar mais assistível, caso tenha sido gravado com um celular antiguinho.
Quando o assunto é edição de vídeo, saber como aplicar efeitos visuais é o seu ingrediente secreto para criar conteúdo que chame a atenção. Os efeitos visuais podem ajudar a deixar o vídeo mais vibrante, destacar detalhes importantes ou transformar o estilo geral do clipe.
Fundamentos da alteração de brilho, contraste e cor
Antes de pôr a mão na massa, vamos relembrar o que significam brilho, contraste e cor no contexto dos vídeos.
- Brilho — é o quão claro ou escuro uma imagem é no geral. Aumentar o brilho deixa o vídeo mais claro, enquanto diminuir deixa ele mais escuro.
- Contraste — é a diferença entre as áreas mais claras e mais escuras do vídeo. Um contraste alto deixa o vídeo mais saturado, enquanto um baixo faz com que ele pareça mais "chapado".
- Correção de cor — é o processo de alterar o equilíbrio de cores para melhorar a qualidade do vídeo.
2. Alterando o brilho do vídeo
Agora bora mergulhar no código e ver como aplicar esses efeitos usando o MoviePy.
Alterando o brilho do vídeo com o método fl_image()
Você pode alterar o brilho do vídeo usando o método fl_image
, que permite aplicar
funções personalizadas a todos os frames do vídeo. Se quiser aumentar o brilho em 20%, basta
usar um multiplicador de 1.2.
from moviepy.editor import VideoFileClip
# Função para alterar o brilho
def change_brightness(image, factor=1.2):
return image * factor
# Abrindo um arquivo de vídeo
clip = VideoFileClip("video.mp4")
# Aplicando a alteração de brilho
brightened_clip = clip.fl_image(lambda frame: change_brightness(frame, 1.2))
# Salvando o resultado
brightened_clip.write_videofile("brightened_video.mp4")
Alterando o brilho do vídeo com moviepy.video.fx.all
Outra maneira de alterar o brilho do vídeo é usando o efeito lum_contrast
,
que permite aumentar ou diminuir o brilho do clipe.
Aumentando o brilho do vídeo
from moviepy.editor import VideoFileClip
from moviepy.video.fx.all import lum_contrast
# Carregando o vídeo
video = VideoFileClip("sample_video.mp4")
# Aplicando o efeito para aumentar o brilho
bright_video = lum_contrast(video, lum=30) # Aumento de brilho em 30 unidades
# Salvando o resultado
bright_video.write_videofile("bright_video.mp4")
Nesse exemplo:
lum_contrast(video, lum=30)
aumenta o brilho do vídeo em 30 unidades. O valor pode ser positivo (para aumentar o brilho) ou negativo (para escurecer).
Diminuindo o brilho do vídeo
# Aplicando o efeito para reduzir o brilho
dark_video = lum_contrast(video, lum=-30) # Redução de brilho em 30 unidades
# Salvando o resultado
dark_video.write_videofile("dark_video.mp4")
3. Alterando o contraste do vídeo
O contraste no vídeo controla a clareza e a intensidade das áreas claras e escuras. Aumentar o contraste faz com que as áreas claras fiquem mais brilhantes e as escuras mais escuras, enquanto reduzir o contraste diminui essa diferença entre as áreas.
Alterando o contraste com o método fl_image()
O contraste pode ser alterado de forma similar, usando uma função de transformação de imagem. Aqui está como fazer:
import numpy as np
# Função para alterar o contraste
def change_contrast(image, factor=1.5):
mean = np.mean(image)
return (image - mean) * factor + mean
# Aplicando a alteração de contraste
contrasted_clip = clip.fl_image(lambda frame: change_contrast(frame, 1.5))
# Salvando o resultado
contrasted_clip.write_videofile("contrasted_video.mp4")
Alterando o contraste com o método lum_contrast()
Aumentando o contraste do vídeo
# Aumentando o contraste
high_contrast_video = lum_contrast(video, contrast=1.5) # Aumento de contraste em 50%
# Salvando o resultado
high_contrast_video.write_videofile("high_contrast_video.mp4")
Aqui:
contrast = 1.5
aumenta o contraste em 50%. Valores maiores que 1 aumentam o contraste.
Reduzindo o contraste do vídeo
# Reduzindo o contraste
low_contrast_video = lum_contrast(video, contrast=0.5) # Redução de contraste em 50%
# Salvando o resultado
low_contrast_video.write_videofile("low_contrast_video.mp4")
Aqui:
contrast = 0.5
reduz o contraste em 50%. Valores menores que 1 diminuem o contraste, deixando a imagem menos saturada.
GO TO FULL VERSION