Thumbor é uma aplicação de código aberto para redimensionamento e manipulação de imagens em tempo real. Desenvolvida originalmente pela Globo.com, a ferramenta é escrita em Python e permite o corte inteligente de imagens com base em reconhecimento facial e outros algoritmos de detecção de objetos.

Características

Redimensionamento dinâmico: Gera imagens em diferentes tamanhos sob demanda. Corte inteligente (smart cropping): Utiliza algoritmos de reconhecimento facial e detecção de pontos de interesse para cortar imagens automaticamente de maneira mais relevante. Suporte a filtros: Permite aplicar efeitos como brilho, contraste, desfoque, entre outros. Armazenamento e cache: Pode integrar-se a diversos backends de armazenamento (como Amazon S3, Google Cloud Storage, Redis, etc.) e sistemas de cache. Segurança: Suporta assinaturas criptografadas para evitar manipulação não autorizada de URLs.

Utilização O Thumbor é utilizado por empresas que necessitam de manipulação de imagens em larga escala e em tempo real, especialmente em portais de notícias, e-commerces e aplicações web que demandam alta performance na entrega de mídia visual.

Uso pela Fundação Wikimedia A Fundação Wikimedia, mantenedora da Wikipédia e de outros projetos, utiliza o Thumbor como parte de sua infraestrutura de processamento de imagens. Desde junho de 2017, todo o tráfego de miniaturas de imagens para wikis públicas e beta passou a ser servido pelo Thumbor. Em fevereiro de 2018, esse suporte foi estendido às wikis privadas, e em abril do mesmo ano, o sistema anterior de geração de miniaturas baseado no MediaWiki foi desativado. Em abril de 2023, o Thumbor passou a servir o tráfego de produção via Kubernetes.

Uso pela Amazon A Amazon utiliza o Thumbor como parte de sua infraestrutura de processamento de imagens. A solução Serverless Image Handler, integrada ao Amazon CloudFront, permite redimensionar, converter e aplicar filtros de imagem em tempo real usando o Thumbor em conjunto com AWS Lambda. A documentação oficial da Amazon lista filtros como blur, grayscale, equalize, sharpen, smart crop, entre outros, que podem ser utilizados via URL.

Funcionamento do Thumbor

Arquitetura Baseada em Servidor O Thumbor opera como um serviço web, processando imagens sob demanda. Ele recebe requisições HTTP com parâmetros como tamanho da imagem, qualidade, recortes e outros ajustes. O servidor então manipula a imagem conforme os parâmetros recebidos e serve a imagem modificada ao cliente.

URL como Interface A principal interface de interação com o Thumbor é por meio de URLs. A URL pode incluir diversos parâmetros para manipulação da imagem, como redimensionamento (largura, altura), filtros (como blur, rotate), recorte (crop), entre outros. Esses parâmetros são passados na URL, e o Thumbor processa a imagem conforme os parâmetros recebidos.

Exemplo de URL: http://thumbor.exemplo.com/unsafe/300x200/smart/https://exemplo.com/imagem.jpg

Neste exemplo:

300x200: define as dimensões finais da imagem. smart: aplica um algoritmo de corte inteligente que tenta manter o foco no conteúdo mais relevante da imagem. https://exemplo.com/imagem.jpg: é a URL da imagem original (fonte), que será baixada e processada pelo Thumbor.

O URL final após o domínio unsafe refere-se a um método de geração de imagem sem autenticação adicional, o que pode ser configurado.

Código-fonte O projeto é mantido como software livre sob a licença MIT, com o código-fonte disponível no repositório oficial no GitHub.

Ver também Processamento digital de imagem Rede de fornecimento de conteúdo Reconhecimento facial Software livre

Referências

Categoria:Software livre Categoria:Software em Python Categoria:Processamento de imagem Categoria:Movimento Wikimedia Categoria:Amazon Web Services Categoria:Globo.com