나는 읽었다mogrify(imagemagick)를 사용하여 내 모든 파일(매개변수 포함)을 일괄 변환합니다.내 디렉터리의 모든 이미지가 동일한 너비와 높이를 갖는다는 점을 제외하면 내 쿼리/경로가 매우 유사한 것 같습니다.
[$] mediainfo 20160714_161847.jpg
General
Complete name : 20160714_161847.jpg
Format : JPEG
File size : 2.66 MiB
Image
Format : JPEG
Width : 4 128 pixels
Height : 2 322 pixels
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Compression mode : Lossy
Stream size : 2.66 MiB (100%)
이제 원본/부모 이미지가 건드리지 않도록 다른 디렉터리로 일괄 압축하고 싶습니다. 모든 압축은 기본적으로 이미지에서 정보를 가져오고 일부 아티팩트가 생성된다는 것을 알고 있습니다.
보다 구체적으로, 디렉토리 수는 다음과 같다고 가정합니다.
/home/shirish/input_directory/*.jpg - input_directory에는 웹 게시에 사용할 수 있도록 축소/삭제해야 하는 모든 .jpg가 포함되어 있습니다.
/home/shirish/output_directory/ - 처리된 이미지가 끝나는 곳입니다. 원본 이미지는 전혀 건드리지 말고 그대로 두시면 됩니다.
ASCII 막대를 사용하거나 바람직하게는 콘솔/ASCII 막대뿐만 아니라 완료할 이미지 수를 알려주는 등 이미지를 탐색하는 동안 작업 진행 상황을 볼 수 있는 방법이 있다면 좋을 것입니다.
흥미롭게도 예제 이미지에는 GPS 정보가 없는 것 같지만 컬렉션의 일부 이미지에는 해당 정보가 있을 것으로 확신합니다. 이미지에 위치 인식 정보(GPS 좌표) 또는 이와 유사한 정보가 있는지 확인하기 위해 모든 이미지를 검색/탐색하는 방법도 있습니다.
업데이트 - 작동 방식을 공유합니다. - 참조 -
~/Pictures/original$ mogrify -path /home/shirish/Pictures/reduced -monitor -quality 70 -trim -resize '>'600x480 *.jpg
load image[asus-prime-Z270-p-lga1151-motherboard.jpg]: 1215 of 1216, 100% complete
Resize/Image//home/shirish/Pictures/reduced[asus-prime-Z270-p-lga1151-motherboard.jpg]: 1052 of 1053, 100% complete
Save/Image//home/shirish/Pictures/reduced[asus-prime-Z270-p-lga1151-motherboard.jpg]: 479 of 480, 100% complete
내가 모르는 유일한 것은 imagemagick이 숫자를 어디에서 가져오는가입니다. 하지만 그건 또 다른 날이고 완전히 다른 질문입니다. :)
답변1
이것은 너비 600 및 높이 400(그보다 큰 경우)으로 크기를 조정하고 jpeg 품질을 70으로 설정하는 명령의 최소 버전입니다(백분율: 숫자가 낮을수록 바이트 수는 적지만 품질은 더 나쁨). .
cd /home/shirish/input_directory/
mogrify -path /home/shirish/output_directory/ -monitor -quality 70 -trim -resize '>'600x400 *.jpg
파일이 너무 많으면 다음을 사용하는 것이 좋습니다.find|xargs