Categorias
notas código imagens

Comandos para converter vídeos com o MEncoder

Os dois comandos do MEncoder são dual pass, ou seja, você tem que rodá-los duas vezes (já explico):

Converter para arquivo compatível Windows:

mencoder -ovc lavc -lavcopts vcodec=msmpeg4v2:vpass=1:vbitrate=2160000:mbd=2:keyint=132:vqblur=1.0:cmp=2:subcmp=2:dia=2:mv0:last_pred=3:aspect=4/3 -vf scale=640:480 -oac pcm -o out.avi input.avi

Converter para DIVX:

mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1600:vpass=1:mbd=2:keyint=132:vqblur=1.0:cmp=2:subcmp=2:dia=2:mv0:last_pred=3:aspect=4/3 -ofps 25 -of avi -vf scale=640:480 -ffourcc DIVX -oac pcm -o out.avi input.avi

Instruções:

Seguinte, abra o terminal na pasta do arquivo e copie e cole um dos comandos. Substitua o input.avi pelo nome do seu arquivo (se quiser mude o out.avi para o nome que preferir). Execute e espere acabar.

Quando acabar, aperte pra cima no terminal pra mostrar o último comando. Mude só o valor do vpass=1 para vpass=2 e execute de novo (todo o resto igual deve permanecer igual).

Faça um teste mudando os valores do vbitrate para ajustar a qualidade. Os valores acima são máximos, dá pra diminuir bem (uns 600 dá uma qualidade razoável). Mas lembre-se: para testar rode o comando com o novo bitrate por duas vezes usando vpass=1 e depois vpass=2.

Categorias
código notas

Mestre em LaTeX

Mestre em LaTeX

O Mestre em LaTeX tem como objetivo facilitar a vida de quem está prestes a escrever sua dissertação de mestrado ou tese de doutorado em português. Ele é um modelo de dissertação que contém informações básicas para iniciantes em LaTeX, além de incluir uma série de pacotes úteis para escrever sua dissertação/tese eficientemente na língua portuguesa.

Confira a primeira versão aqui.

O projeto está hospedado no endereço http://code.google.com/p/mestre-em-latex/ onde estou acrescentando informações no wiki e você pode reportar problemas. Além disso, a versão mais recente está disponível via Mercurial.

Categorias
artigos código

Quick Set Scale, macro para o ImageJ

Como vocês já devem ter lido por aqui, gosto e uso bastante o ImageJ, um software de processamento de imagens. Uma das tarefas que faço frequentemente é medir “coisas” que estudo. Essas coisas podem ser células, embriões, larvas, seres do plâncton, ou bolachas-do mar adultas.

Para fazer as medições você precisa calibrar a foto informando ao programa qual é o tamanho (em cm, mm, µm, etc…) de cada pixel. Por exemplo, se cada pixel equivale a 1cm e a célula que fotografei tiver 800 pixels de diâmetro, o diâmetro real desta célula é de 800 cm (8 metros!).

Escala micrométrica utilizada para calibrar a escala no ImageJ.

Para descobrir que valor usar é simples, tire uma foto de uma escala numérica (uma régua, ou algo que você saiba o tamanho com precisão) , e lembre-se de não alterar o zoom e posição da câmera, ou o aumento do microscópio quando bater suas fotos. Se precisar mudar, bata outra foto da escala com a nova configuração!

Como eu tenho imagens com diferentes aumentos, mas sempre tirados com a mesma câmera, objetivas, microscópio e lupa, fiz uma pequena macro para facilitar minha vida. A macro simplesmente calibra a foto de acordo com valores pré-determinados pelo usuário (meus equipamentos, um microscópio e uma lupa). Pra usar você precisa descobrir quais valores você deve colocar! Não use os valores que estão no código original! Tentei deixar bem fácil para alterar esses valores e adicionar outros equipamentos.

Pra usar é só salvar o código como um arquivo .txt, colocar na pasta ImageJ/macros/toolsets e reiniciar o ImageJ. Esse código foi melhorado pelo Wayne Rasband, que criou o ImageJ, quem quiser ver a versão anterior tem aqui (não use a versão anterior… é só para quem tiver curiosidade em comparar as mudanças). O Quick Set Scale foi incorporado na versão 1.39g do ImageJ!

Depois coloco umas fotos… :-)

// Quick Set Scale v0.99 - 15/10/2007
// Copyleft - Bruno C. Vellutini
// Macro specific for Compound Microscope Zeiss Axioplan2 and Stereoscope Zeiss Stemi SV11 APO
// with photos taken with a Nikon Coolpix 4500 camera (max zoom)
// If you are using this macro you need to input your own values
// specific for your scope and camera set up

var global = false;

macro "Unused Tool - " {}

macro "Quick Set Scale Action Tool - C037L1cfcL1a1eLfafeL8b8dL5b5dLbbbdT0707qT4707uT8707iTa707cTe707k" {

Dialog.create("Quick Set Scale");
// Write the name of the equipments you want to quickly set scale in the array below
Dialog.addChoice("Equipment:", newArray("Microscopio Zeiss Axioplan2", "Lupa Zeiss Stemi SV11 APO"));
Dialog.show();
equip = Dialog.getChoice();

// Options for Axioplan2
if (equip=="Microscopio Zeiss Axioplan2") {
// Write the magnifications available for your equipment
magnifications = newArray("2.5x", "10x", "20x", "40x", "100x");
scales = newArray("2.0450",  "0.5277", "0.2571", "0.1333", "0.05255");
setScale("Zeiss Axioplan2", magnifications, scales);
}

// Options for Stereoscope.
if (equip=="Lupa Zeiss Stemi SV11 APO") {
magnifications = newArray("0.6x", "0.8x", "1.0x", "1.2x", "1.6x", "2.0x", "2.5x", "3.2x", "4.0x", "5.0x", "6.6x");
scales = newArray("5.788712012", "4.246284501",  "3.318620781", "2.631509697", "2.087682672",
"1.680672269", "1.353784505",  "1.06835324", "0.850340136", "0.661371287",  "0.506072874");
setScale("Lupa Zeiss Stemi SV11 APO", magnifications, scales);
}
}

function setScale(name, mag, scale) {
Dialog.create(name);
Dialog.addChoice("Objective:", mag);
Dialog.addCheckbox("Global Scale", global);
Dialog.show();
magnification = Dialog.getChoice();
global = Dialog.getCheckbox();
options = " distance=1 pixel=1 unit=micron known=";
for (i=0; i
if (magnification==mag[i]) options = options + scale[i];
}
if (global) options = options + " global";
run("Set Scale...", options);
}
Categorias
artigos código imagens

Primeiro teste com o seam-remover no ImageJ

A pouquíssimo tempo coloquei um vídeo sobre um novo método de redimensionar imagens digitais sem causar grandes deformações na imagem, o Seam Carving for Content-Aware Image Resizing. Imaginei que iria demorar pra que um programa fosse lançado para uso comum, e… realmente ainda não foi lançado nada.

No entanto, Johannes Schindelin acabou de divulgar um plugin do ImageJ que utiliza o mesmo conceito de omitir linhas com menor energia, ao redimensionar imagens. Essa é uma primeira versão, e como ele mesmo disse, ainda está bem crua em termos de funcionalidades, mas o fato é que… funciona!

Vejam aqui o teste que eu fiz!

Original (1280 x 800 pixels):

screenshotnelas

Original mostrando linha vertical de menor energia na janela do ImageJ:

seam marked

Imagem somente com a largura reduzida de 1280 para 800 pixels usando o plugin seam-remover:

screenseamed

Imagem redimensionada pelos métodos convencionais (mesma redução de 1280 para 800 pixels):

screenscaled

Funciona, não?

Fora alguns artefatos na barra inferior o resto até que ficou bom! O jovem exemplar de bolacha do mar (bichinho da foto) saiu quase intacto da manipulação!

Categorias
notas código imagens

Redimensionando imagens com seam carving

Novo jeito de redimensionar imagens sem distorcer as proporções. Muito interessante para o meio artístico! Só o nome é meio bizarro: Seam Carving for Content-Aware Image Resizing.

Aqui tem um artigo em pdf (download lento) com mais informações.

Categorias
artigos código

Línuquis

Há cinco meses atrás resolvi, finalmente, fazer algo que estava planejado faz tempo. Instalar uma distro do Linux (Ubuntu Edgy) no meu computador. Fiz um dual boot com o Windows XP, que já estava instalado na máquina, e passei horas a fio usando/aprendendo sobre o novo sistema. Desde então venho me divertindo bastante no mundo digital.

Como eu fico um tempo razoável no computador, o linux acabou virando assunto, do dia-a-dia, no bar, no trabalho, nas festas é linux pra cá, linux pra lá, blá, blá, blá… típico de um novo usuário. Como o mascote do linux é um pingüim, o Tux criado por Larry Ewing, acabou sobrando até para um certo pingüinzinho de geladeira cuja dona, Ju Roscito, nomeou-o de Línuquis.

Até aí tudo bem, até que vi o recém-batizado pingüinzinho! Achei muito bom, hehe!

Resolvi, então, criar umas imagens e disponibilizar aqui, na esperança de que alguém mais habilidoso possa criar imagens bacanas com o Línuquis!

Fiz alguns fundos de tela 1280×800 e algumas imagens mais experimentais. Aliás, tudo foi meio experimental…! Depois coloco outros ângulos dele (sim, ele tem olhos, mas não estão aparecendo).

Linuquis Recortado

Original e fundos de tela