Convertendo uma série de imagens de bitmap em escala de cinza

2

Eu tenho uma série de arquivos de imagem bmp contendo dados codificados RGB. Eu preciso converter todas essas imagens em seus equivalentes em escala de cinza. Considerei duas abordagens para isso, ambas revelaram-se insuficientes.

1) Eu tentei usar o IrfanView e o Gimp. Em ambos os softwares, eu consegui carregar imagens individuais e convertê-las em escala de cinza e salvar a imagem em escala de cinza. No entanto, como tenho 500 imagens, essa abordagem não é viável, já que nenhuma delas me permite aplicar a operação RGBTogreyscale em toda a série de imagens

2) Eu tentei o Matlab. No entanto, meus arquivos, por algum motivo, não são compatíveis com o Matlab. uma simples imread no Matlab não foi capaz de carregar os arquivos de imagem.

imgdata = imread('myimg.bmp')  % gives error saying that 'Bitfield compression not supported'

Alguma sugestão?

    
por The Vivandiere 14.01.2015 / 00:12

4 respostas

2

Em Irfanview, vá para 'File' »'Batch Conversion' (ou pressione a tecla de atalho, B ), adicione todos os arquivos a serem convertidos, marque 'Use advanced options', depois clique no Botão 'Avançado' e marque 'Converter em escala de cinza', assim:

Issodevepermitirumaconversãoemlotedeváriasimagensdebitmapemescaladecinza.Vocêtambémpodeconverteremloteparaqualquerumdos formatos de arquivo de imagem suportados pelo Irfanview , por exemplo BMP, PNG, GIF, JPG, etc.

    
por 15.01.2015 / 15:10
3

Eu recomendaria o Imagemagick. É um utilitário de linha de comando extremamente flexível com muitas funções suportadas. Um dos quais está sendo convertido em escala de cinza.

Veja este post para mais:

link

tl; dr

convert  test.png  -type GrayScale  grey_type.png

Para instalar o Imagemagick, existem todos os tipos de binários aqui:

link

    
por 14.01.2015 / 01:29
1

Mesmo que haja uma resposta aceita, pensei em dar meus 2 centavos.

Se você quiser apenas converter em escala de cinza usando o método de conversão padrão, o IrfanView faz o trabalho. No entanto, para aqueles que podem querer especificar exatamente como as cores devem ser convertidas em escala de cinza, pensei em mencionar o programa que eu uso.

É comercial, mas permite especificar quanto Red, Green e Blue contribuem, bem como permite usar os "canais" de intensidade ou intensidade de outros modelos de cores, como HSL e HSI, para obter a conversão: Processador de Imagens em Lote Além disso, ele possui várias opções para salvar imagens em escala de cinza: Bitmap de 8 bits, PNG de 8 bits, GIF de 8 bits e outros. E se você precisar, ele possui outras funções de processamento de imagem, como brilho, contraste, etc.

Então, minha opinião é que, se você quiser converter em escala de cinza usando alguma implementação padrão, use IrfanView, mas se precisar de mais flexibilidade, opções e talvez queira compor ações de processamento em lote diferentes, use ferramentas mais profissionais como a um que eu mencionei.

    
por 15.01.2015 / 16:15
0

Acabei de descobrir a opção Processamento em lote no IrfanView. Usando o Processamento em lote, consegui converter todas as imagens da série em escala de cinza de uma só vez. As imagens em escala de cinza de saída eram do tipo .PGM.

    
por 14.01.2015 / 01:41