Substitua a tela verde usando OpenCV- Python
Pré-requisitos: Tutorial OpenCV Python
OpenCV (Open Source Computer Vision) é uma biblioteca de visão computacional que contém várias funções para realizar operações em imagens ou vídeos. Esta biblioteca é multiplataforma, está disponível em várias linguagens de programação, como Python, C ++, etc.
A remoção de tela verde é usada na indústria de VFX para alterar as cenas. Aqui, usaremos OpenCV - Python para fazer o mesmo.
Abordagem
- Importar todas as bibliotecas necessárias
- Carregue as imagens ou vídeos
- Redimensione as imagens e os vídeos para o mesmo tamanho
- Carregue os valores BGR superiores e inferiores da cor verde
- Aplique a máscara e use bitwise_and
- Subtraia bit a bit_and da imagem da tela verde original
- Verifique o valor da matriz 0 após a subtração e substitua-o pela segunda imagem
- Você obtém os resultados desejados.
Abaixo está a implementação.
import
cv2
import
numpy as np
video
=
cv2.VideoCapture(
"green.mp4"
)
image
=
cv2.imread(
"bg.jpeg"
)
while
True
:
ret, frame
=
video.read()
frame
=
cv2.resize(frame, (
640
,
480
))
image
=
cv2.resize(image, (
640
,
480
))
u_green
=
np.array([
104
,
153
,
70
])
l_green
=
np.array([
30
,
30
,
0
])
mask
=
cv2.inRange(frame, l_green, u_green)
res
=
cv2.bitwise_and(frame, frame, mask
=
mask)
f
=
frame
-
res
f
=
np.where(f
=
=
0
, image, f)
cv2.imshow(
"video"
, frame)
cv2.imshow(
"mask"
, f)
if
cv2.waitKey(
25
)
=
=
27
:
break
video.release()
cv2.destroyAllWindows()
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva