Pergunta

Eu estou procurando maneiras de determinar a qualidade de uma fotografia (jpg). A primeira coisa que me veio à mente foi comparar o tamanho do arquivo com a quantidade de pixels armazenados dentro. Existem outras maneiras, por exemplo, para verificar a quantidade de ruído em um jpg? Alguém tem um bom link de ler sobre este assunto ou qualquer experiência? By the way, o projeto que estou trabalhando é escrito em C # (NET 3.5) e eu uso o Graphics Mill Aurigma para processamento de imagens.

Agradecemos antecipadamente!

Foi útil?

Solução

Eu não sou inteiramente claro o que você quer dizer com "qualidade", se você quer dizer a configuração de qualidade no algoritmo de compressão JPG, então você pode ser capaz de extraí-lo a partir das etiquetas EXIF ??da imagem (depende do dispositivo de captura de colocar -los e mais ninguém substituí-los) para a sua biblioteca ver aqui:

http://www.aurigma.com/Support/DocViewer/ 30 / JPEGFileFormat.htm.aspx

Se você quer dizer qualquer outro tipo de "qualidade", então você precisa para chegar a uma melhor definição de qualidade. Por exemplo, o excesso de exposição pode ser um problema, caso em que a caça para pixels saturadas iria ajudar a determinar que tipo específico de qualidade. Ou, mais geralmente você pode olhar para as estatísticas (média, desvio padrão) do histograma da imagem nos 3 canais de cores. A imagem pode ficar fora de foco, caso em que você pode olhar para um corte nas frequências espaciais da imagem transformada de Fourier. Se você está preocupado com salpico de ruído, então você pode tentar aplicar um filtro mediana para a imagem e comparando volta para a imagem original (mais ruído speckle daria uma mudança maior.) - Eu estou supondo um pouco aqui

Se por "qualidade" você quer dizer propriedades estéticas da composição etc então - boa sorte!

Outras dicas

A 'qualidade' de uma imagem não é mensurável, porque não corresponde a nenhum valor particular. Se u tomá-lo como número de pixels na imagem de tamanho específico que não é preciso. Você pode falar sobre uma fotografia tirada em más condições de iluminação como sendo de 'má qualidade', mesmo que ele tem exatamente o mesmo número de pixels como uma outra imagem tomada em boas condições de iluminação. Este termo é usado frequentemente para falar sobre o efeito global de uma imagem, em vez de suas especificações técnicas.

Eu queria fazer algo semelhante, mas queria a opção "Soylent Green" e usou pessoas para imagens de classificação através da realização de comparações. Veja as respostas de perguntas aqui .

Eu acho que você está perguntando sobre como determinar a qualidade do próprio processo de compressão. Isto pode ser feito através da conversão do JPEG a um BMP e comparando que BMP para o bitmap original com o JPEG foi criado. É possível percorrer os mapas de bits de pixel-a-pixel e calcular uma "distância" de pixel-a-pixel pela soma das diferenças entre os R, G e valores B de cada par de pixels (ou seja, o elemento de imagem no original e o pixel o JPEG) e dividindo pelo número total de pixels. Isto lhe dará uma medida da diferença média entre o original eo JPEG.

Lendo o número de pixels na imagem pode dizer-lhe o " megapixel " tamanho (# pixels / 1000000), que pode ser uma forma grosseira de verificação de qualidade programática, mas que não vai dizer se a foto é focada corretamente, assumindo que é suposto ser focado (pense objectos em movimento, como trens), nem tempo ou não há algo no valor pic olhando, que vai exigir um ser humano, ou pombo , se preferir.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top