Como desfocar rostos em fotos com a Transloadit
Em uma época de crescente preocupação com a privacidade e de regulamentações rígidas de proteção de
dados, proteger a identidade das pessoas em conteúdos visuais é fundamental. O novo parâmetro
blur_regions do Robot /image/resize oferece uma solução simples
e poderosa para desfocar rostos em fotos, permitindo que desenvolvedores integrem essa
funcionalidade aos próprios produtos sem complicação.

Como desfocar rostos em fotos
Desfocar rostos em fotos, principalmente quando se lida com um grande número de arquivos, é um processo que pode sair do controle rapidamente, tirando recursos das partes do seu projeto em que você realmente quer se concentrar. Felizmente, com a Transloadit tudo fica tão fácil quanto dois Steps simples.
Vamos dar uma olhada no Template abaixo.
{
"steps": {
"faces_detected": {
"use": ":original",
"robot": "/image/facedetect",
"faces": "max-confidence",
"format": "preserve",
"result": true
},
"blur_faces": {
"use": "faces_detected",
"robot": "/image/resize",
"format": "jpg",
"blur_regions": [
{
"x": "${file.meta.faces[0].x1 + (file.meta.faces[0].width / 2)}",
"y": "${file.meta.faces[0].y1 + (file.meta.faces[0].height / 2)}",
"width": "${file.meta.faces[0].width}",
"height": "${file.meta.faces[0].height}"
}
],
"blur": "0x10"
}
}
}
Nosso primeiro Step usa o Robot /image/facedetect
para obter as coordenadas do rosto presente na imagem. O resultado deste
Step é armazenado nos metadados da imagem, que então passamos ao nosso
Step blur_faces.
Em seguida, podemos usar o Robot /image/resize para desfocar o
rosto na imagem. Para isso, especificamos uma região de desfoque com as coordenadas x e y
definidas no ponto central do rosto.
Neste exemplo, faces[0] seleciona o primeiro rosto detectado para todas as quatro coordenadas e
dimensões. As expressões x e y calculam o ponto central dele; width e height usam
diretamente as dimensões detectadas.
A aritmética nas expressões x e y aciona a
avaliação dinâmica por meio do Robot
/script/run. As expressões width e height
são consultas simples de metadados e continuam gratuitas. Cada uma das nossas regiões de desfoque é
uma elipse, e podemos fazer as dimensões dela corresponderem às dimensões do rosto usando
Assembly Variables.
Para ajustar a intensidade do desfoque, use o parâmetro blur, no formato {radius}x{sigma}, que
definimos com o valor 0x10 para esta demonstração.
O resultado
Executar o Template nos dá o resultado abaixo.


Mova o controle deslizante da comparação para ver a imagem original ou a variante desfocada.
Observe que apenas a região que cobre o rosto fica desfocada, e o restante da imagem permanece intacto.
Chegamos assim ao fim deste post. Estamos muito animados para que você coloque a mão neste novo recurso, então abra o Template Editor e experimente por conta própria.
