Tag: open source

Processamento de imagens com Qt – Parte II

26 de maio de 2008 às 02:49 | Carlos Júnior | , ,

Bom, apenas para deixar vocês a par do que foi feito após aquele post. Continuei meu belo trabalho e hoje resolvi colocá-lo no Github[1], quem sabe ele não cresce e mais pessoas adicionam novos recursos para ajudar outras a entrar na área de Processamento de Imagens Digitais (PID)?

Quando comecei a fazer o trabalho eu tinha muita informação sobre processamento de imagens, mas pouca coisa em C++ (na verdade a linguagem fui eu quem escolhi, causei minha própria coceira). O pouco que encontrei nesta linguagem não era lá realmente funcional (apenas classes isoladas e etc.).

Quem quiser adicionar filtros, mesmo que simples (média, mediana, etc), é só fazer o fork e me comunicar sobre as mudanças ou então gerar um patch e me enviar.

O que realmente está precisando ser feito:

  • Fazer o espectro de Fourier funcionar direito (a transformada está correta, a inversa ídem);
  • Temporada de caça aos memory leaks! Achei vários e já tratei de corrigir, porém após alguns filtros ele consome muita memória e precisamos fechar e abrir novamente se quisermos nossos recursos de volta.
  • Adicionar recursos para trabalhar com imagens coloridas (como o trabalho era para trabalhar com imagens em escala de cinza, apenas isso foi feito) – quando a imagem é colorida, nós a convertemos para escala de cinza;

Abraços!

[1] http://github.com/xjunior/blind-chameleon/tree

Mudanças…

1 de abril de 2008 às 20:32 | Milk-it | , ,

Há algum tempo estávamos cogitando mudar a nossa forma de trabalho e nossas tecnologias, então venho informar que não vamos mais trabalhar com Ruby on Rails, GNU/Linux e boa parte das soluções livres. Isso se deve ao fato das soluções da Microsoft atenderem muito melhor a nossa empresa. Agora todas as nossas estações de trabalho serão Windows XP com Office 2007 e Visual Studio 2008, todas as licenças já estão em posse da Milk-it.

Agradecemos a toda a comunidade software livre, especialmente a Ruby on Rails e Gentoo, mas atualmente as soluções da Microsoft nos atendem muito melhor. Como todos os nossos projetos abertos usam tecnologias livres, vamos fechar o nosso repositório svn.milk-it.net/open pelo simples fato de não fazer mais sentido dar manutenção neles.

Sei que muitos de vocês lêem o nosso blog por conta dos posts voltados para software livre, mas espero a compreensão de todos.

Processamento de imagens com Qt

10 de março de 2008 às 15:57 | Carlos Júnior | , ,

Este semestre estou cursando uma matéria que se chama Processamento de Imagens Digitais na PUC-MG e, diga-se de passagem, estou gostando muito da matéria. Recebemos então nosso primeiro trabalho prático que consiste em 3 passos, sendo o que primeiro irá gerar a versão em escala de cinza de uma imagem. Considerei esta a oportunidade perfeita para aprender a trabalhar com Qt.

Como o trabalho necessitava de uma interface gráfica (exigência do professor), comecei com o Qt Designer. O programa é realmente muito bom e fácil de mexer! Por usar caixas de ferramentas flutuantes, recomendo o uso de uma área de trabalho somente para o programa.

O segundo passo foi escrever o comportamento da interface, ou melhor, o trabalho de fato. Como este não é um tutorial de Qt vou pular direto para a manipulação da imagem. Escrevi então o seguinte código para deixar a imagem em escala de cinza utilizando a QImage:

void
pidMain::generateGrayScale()
{
    // ocultei o código original pois se trata de recuperar o objeto QImage e nada mais
    QImage *original = getImage();
    QImage *gray = new QImage(original->width(), original->height(), QImage::Format_RGB32);
    QRgb grayPix;
    QColor *curPix;
    int bright;
 
    for (int i =0; i < gray->width(); i++)
        for (int j = 0; j < gray->height(); j++)
        {
            curPix= &QColor::fromRgba(original->pixel(i, j));
            bright = qRound(0.3 * curPix->red() + 0.5 * curPix->green() + 0.2 * curPix->blue());
            grayPix = qRgb(bright, bright, bright);
            gray->setPixel(i, j, grayPix);
        }
 
    // também ocultei o código original aqui. Agora temos uma imagem em escala de cinza no ponteiro "gray"
}

Espero que este código seja útil a alguém! Caso queiram opinar, melhorar, estragar ou qualquer coisa, o código para alteração está aqui!

Abraços!

Rails DataBrowser lançado!

19 de fevereiro de 2008 às 12:12 | Carlos Júnior | , ,

É com muita satisfação que anuncio que o Rails DataBrowser encontra-se estável e em plena condição de uso :D

update 25/06/08: o site do Rails DataBrowser mudou! Abandonamos o uso do Trac, e agora estamos com o Redmine. Então acesse redmine.milk-it.net/projects

De onde veio?

A vontade de criar o plugin Rails DataBrowser veio de quando conheci o Databrowser do django. Pensei que Rails poderia ter uma ferramenta do tipo e comecei a escrever algo. No primeiro dia ele já estava usável, mas eu não publicaria aquilo (mesmo!). Então, depois de muitas melhorias (inclusive visuais) hoje fiz o commit que marca sua data de lançamento para o público.

O que é?

O DataBrowser lhe permite editar, criar, navegar, visualizar e excluír registros do seu banco de dados através dos Models de sua aplicação. Bom, veja mais detalhes em http://trac.milk-it.net/open/wiki/DataBrowser.

Abraços!

Primeiro Snapshot do Paste-it

13 de fevereiro de 2008 às 03:14 | Carlos Júnior | , ,

Acabo de “tagear” o primeiro snapshot do Paste-it! Este snapshot inclui além de tudo o que já citei no post de apresentação do Paste-it:

  • Post privado com URL embelezadas por Rewrite;
  • Melhorias nas configurações (agora é possível remover o bloco de Documentações);
  • Linguagem padrão: agora é possível definir uma linguagem padrão (ao invés de None/Nenhum);

Diversos bugfixes:

  • Página de Diff ficava em branco quando não havia diferenças;
  • A mensagem “(e elimine o captcha)” não desaparecia quando o captcha estava desabilitado;
  • A mensagem ensinado a usar o highlight de linha não deveria estar lá, já que isso ainda não está implementado;

O arquivo deste snapshot pode ser baixado aqui.

Espero que gostem!

update: para reportar algum bug: http://trac.milk-it.net/open
update 25/06/08: o site do Paste-it mudou! Abandonamos o uso do Trac, e agora estamos com o Redmine. Então acesse redmine.milk-it.net/projects