회전된 사진

회전된 사진

저는 비디오 인코딩의 초보자입니다. 내 문제는 여러 장의 사진이 있는데 그 중 일부는 카메라를 90도 회전시켜 찍은 것입니다. Mencoder를 사용하여 영화를 만들려고 했지만 결과적으로 카메라를 회전시켜 만든 사진이 회전되지 않은 것처럼 보입니다. 원본 사진 방향을 존중하는 동영상을 만들려면 어떻게 해야 합니까? 회전된 사진과 회전되지 않은 사진이 혼합되어 있습니다. 누구든지 나를 도와줄 수 있나요?

답변1

나는 이 목적을 위해 몇 년 전에 스크립트를 만들었습니다. 나는 그것을 부른다자동 썩음, 그러나 어떤 이름이라도 사용할 수 있습니다. 변수를 수정해야 합니다.

dimkonica=2112x2816
dimcanon=3264x2448

사진 크기와 일치하는 값으로. 스크립트는 다음과 같습니다.

#!/bin/bash

if [ "$1" == "" ]
then
 echo "Usage: $0 <jpeg-file> [lossy]"
 echo "Auto-rotate *lossless* with jhead,"
 echo "or optionally, if bad image dimensions,"
 echo "auto-orient *lossy* with convert"
 exit
fi
name="$1"
name=${name%.*}
#echo $1
#echo $name
if [ "$1" == "$name".jpg ] || [ "$1" == "$name".JPG ] || [ "$1" == "$name".jpeg ] || [ "$1" == "$name".JPEG ]
then
 echo hej>/dev/null
else
 echo "Bad! $1 not a jpeg-file"
 exit
fi

dimkonica=2112x2816
dimcanon=3264x2448

dim=$(identify -ping "$1"|sed -e s/.*JPEG\ // -e s/\ .*//)
gw0=$(echo "$dim"|sed s/x.*//)
gw1=$((gw0/16*16))
gh0=$(echo "$dim"|sed s/.*x//)
gh1=$((gh0/16*16))

if [ "$dim" == "$dimkonica" ] || [ "$dim" == "$dimcanon" ]
then
  echo "jhead: Original dimension for jhead: $1: $dim"
  jhead -autorot "$1"
else
 if [ "$gw0" == "$gw1" ] && [ "$gh0" == "$gh1" ]
 then
  echo "jhead: Good dimension for jhead: $1: $gw0"x"$gh0"
  jhead -autorot "$1"
 else
  if [ "$2" == "lossy" ]
  then
   echo "convert: Bad dimension for jhead: $1: $dim"
   while [ "$ans" != "yes" ] && [ "$ans" != "n" ] && [ "$ans" != "no" ]
   do
    echo -n "make a lossy rotation the image? (yes/no) "
    read ans
    if [ "$ans" == "yes" ]
    then
     echo Converted: original saved, rotated copy named "$name"_r.jpg
     convert -auto-orient "$1" "$name"_r.jpg
    fi
   done
  else
   echo "Bad dimension for jhead: $1: $dim"
  fi
 fi
fi

관련 정보