Índice:

Adicionar texto a imagens com o comando 'convert' do Linux: 3 etapas
Adicionar texto a imagens com o comando 'convert' do Linux: 3 etapas

Vídeo: Adicionar texto a imagens com o comando 'convert' do Linux: 3 etapas

Vídeo: Adicionar texto a imagens com o comando 'convert' do Linux: 3 etapas
Vídeo: ImageMagick: melhor ferramenta do MUNDO para editar e converter imagens na linha de comando 2024, Novembro
Anonim
Adicionar texto a imagens com o comando 'convert' do Linux
Adicionar texto a imagens com o comando 'convert' do Linux

Este instrutível mostrará como adicionar texto a uma imagem usando o comando convert no Linux. Um uso valioso disso é a colocação de uma legenda em uma imagem para documentação. Outro uso seria colocar um carimbo de hora em uma imagem que é gerada automaticamente por uma webcam. Existem muitas opções de conversão que você pode usar para inserir texto na imagem. Você pode escolher o ponto de partida do texto (por meio de uma coordenada de altura / largura), a cor de preenchimento do texto, o tamanho do ponto do texto e a fonte usada. Este instrutível mostrará como fazer tudo isso. O principal problema com este instrutível é que você precisa fazer tudo isso no sistema operacional Linux. Não conheço um utilitário como o convert no Microsoft Windows, mas quem faz alguma coisa com uma linha de comando no Windows? Este instrutível é mais voltado para usuários de Linux que desejam tirar mais proveito de seu computador. Se você é um usuário do Windows e ainda está tentado a ler este manual, pode ser tentado a baixar e instalar o Linux. Posso escrever um instrutivo sobre como fazer isso em uma data posterior, mas se você quiser fazer isso sozinho, você pode ir para https://www.ubuntu.com/ e iniciar o processo. Você pode transformar seu computador em uma máquina de boot duplo (eu realmente recomendo que você instale um segundo disco rígido em sua máquina - qualquer tamanho servirá). BTW, o Linux é GRATUITO, junto com tudo que está disponível para ele. Além disso, até agora, é invulnerável a vírus.

Etapa 1: o utilitário 'convert' do Linux

Para realizar a tarefa de adicionar um rótulo a uma imagem, estaremos trabalhando inteiramente em uma janela de terminal Linux. O Windows chama isso de janela de comando, mas raramente é usada no Windows, exceto por veteranos que se lembram dela dos dias do DOS. Os usuários do Linux fazem uso intensivo dele. Primeiro de tudo, abra uma janela de terminal. Com o Ubuntu Linux, você faz isso selecionando Aplicativos-> Terminal. Uma janela será aberta com um prompt de linha de comando. Ele o colocará em seu diretório inicial. Vamos supor que a imagem com a qual você deseja brincar está em um subdiretório "imagens". Para chegar a esse subdiretório, digite "imagens de cd". Emita o comando "ls" para ver quais arquivos estão lá. No meu caso, quero trabalhar com um arquivo chamado "sunset1.jpg". Você também deseja certificar-se de que o comando convert está disponível em seu sistema. Uma maneira de fazer isso é emitir o comando "which convert". Se estiver disponível, sua localização será impressa na tela. No meu caso, está em "/ usr / bin / convert". Outra forma de descobrir se ele está disponível, basta digitar o comando "convert" na linha de comando. Se estiver lá, uma longa descrição do comando será impressa com todas as opções disponíveis. Se não estiver lá, você verá "convert: command not found". Vamos supor que ele esteja disponível. Se você emitir o comando "convert", verá que é uma ferramenta muito poderosa com muitos recursos. Uma descrição mais completa do comando convert pode ser encontrada em: https://linux.about.com/od/commands/l/blcmdl1_convert.htmPara nossos propósitos, queremos apenas usar o argumento "-draw" para escrever a legenda para a foto.

Etapa 2: adicionar uma legenda

Adicionando uma legenda
Adicionando uma legenda
Adicionando uma legenda
Adicionando uma legenda
Adicionando uma legenda
Adicionando uma legenda

Minha imagem original será um arquivo chamado sunset1.jpg. Esta é uma foto que tirei em uma viagem recente ao Egito e Jordânia (você pode ver todas as fotos em https://www.datasink.com/egypt2009.shtml). Vou manter a imagem original no lugar e salvar as alterações nos novos nomes de arquivo por razões de segurança. A imagem original é uma versão reduzida de uma imagem muito maior que era uma imagem de 7 megapixels. Usei outro recurso do comando "converter" para redimensioná-lo para uma versão menor para este instrutível. Esta imagem tem 640x480. Isso significa que ele tem 640 pixels de largura e 480 pixels de altura. Usaremos essas informações para determinar onde queremos colocar a legenda. Aqui está um comando que produz sunset2.jpg: convert -pointsize 20 -fill yellow -draw 'text 270, 460 "Pôr do sol sobre o Nilo"' sunset1-j.webp

Etapa 3: Automatizando a Rotulagem de Imagens

Automatizando a Rotulagem de Imagens
Automatizando a Rotulagem de Imagens

Você viu como adiciona manualmente uma legenda a uma imagem a partir da linha de comando. Isso funciona bem se você tiver apenas algumas fotos para trabalhar, mas pode ser muito entediante trabalhar dessa forma. Se você tem muitas imagens para processar, talvez queira usar algum tipo de linguagem de script no Linux. Uma possibilidade é usar um script de shell. O que eu uso é uma linguagem de script chamada Perl. É o que eu uso para todos os tipos de scripts CGI na web. Outras possibilidades são Java, C ++, PHP e Python. O que quer que você use, você deve ser capaz de criar uma string de linha de comando e o shell para executá-la. Uma maneira de fazer uso disso é colocar automaticamente o carimbo de data / hora em uma imagem que minha webcam gera uma vez por minuto. Em um script Perl, formulo o carimbo de data / hora atual (data e hora) e, em seguida, sobreponho-o à imagem atual. Também coloquei o endereço do meu site na foto. Você pode ver que a imagem anexada foi tirada em 2 de fevereiro às 13h07. Tenho um script no meu computador que é executado uma vez por minuto. Ele pega a imagem da webcam, insere o nome do site e o carimbo de data / hora e, em seguida, carrega no meu site. Você PODE ver isso em ação em https://www.datasink.com/webcam.shtml. Digo "pode" porque isso só acontece quando meu computador está ligado. Não o deixo ligado durante a noite ou quando estou fora. Se eu quisesse rotular um diretório inteiro de imagens, criaria um script Perl para fazer isso. Uma maneira de fazer isso é criar um arquivo de texto que contenha toda a lista de imagens do diretório, uma por linha. Seguindo o nome da imagem em cada linha, estaria o texto da legenda. Eu criaria um loop que pegaria o rótulo e o aplicaria à imagem. Claro, haveria um problema de centralizar o rótulo horizontalmente. Provavelmente, eu teria que calcular a largura real da legenda e, em seguida, ajustar o argumento horizontal.

Recomendado: