CodeGym /Curso Java /Python SELF PT /Aplicação de filtros visuais e efeitos: alteração do bril...

Aplicação de filtros visuais e efeitos: alteração do brilho, contraste e cor

Python SELF PT
Nível 48 , Lição 1
Disponível

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.

Python

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

Python

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

Python

# 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:

Python

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

Python

# 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

Python

# 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.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION