Como detectar uma imagem rodada e fixá-la de volta à sua posição correta usando Python/OpenCV
Exif tags - A maioria das imagens tiradas usando câmeras modernas (mesmo câmeras de celular) contém a orientação exif tag para indicar de que forma a imagem é orientada.
Em Python, confira a PIL - Python Imaging Library e especificamente o pacote PIL.ExifTags. Use-o para ler a tag Orientation e girar a imagem.
Se estiver usando a linha de comando Linux, você pode usar exiftool para ler & editar exif tags e converter (ImageMagick) para girar a imagem.
Das tags desta questão, acho que esta pode não ser a resposta que você quer. Mas eu espero que esta seja a resposta que você precisa/deserva. Pode poupar-lhe muito tempo & energia. :P
algum fundo: Eu tinha uma exigência um pouco semelhante. Eu tinha fotos de candidatos concorrendo às eleições Lok Sabha de todos os distritos em Tamil Nadu. As fotos foram tiradas da candidatura deles à Comissão Eleitoral - assim eles são acessíveis para os cidadãos. Muitas das imagens foram rodadas. Tive que reorientar as erradas.
Utilizei exiftool para imprimir o nome do arquivo e o valor da etiqueta de Orientação, usei grep para filtrar todas as orientações não padronizadas. Usei convert para girar e salvar como nova imagem e usei exiftool novamente para retirar a tag de Orientação da nova imagem. Infelizmente, parece que não tenho esse script neste momento. Se eu o encontrar, vou colá-lo aqui. Eu acho que você pode fazer as mesmas operações usando PIL em Python também.
Espere que isso ajude.
Artigos semelhantes
- O que são alguns projetos Python e OpenCV para iniciantes?
- Como definir o foco de uma webcam ou qualquer outra câmera usando OpenCV
- Como a Índia alcançou a 3ª posição no PIB (PPP) quando ocupa a 9ª posição no PIB (nominal)?
- É possível fotografar uma imagem fixa com um zoom digital numa Canon 550D DSLR?