색상을 회색 스케일로 사용하지 않고 이미지를 대량 변환 할 수 있습니까?
-
21-12-2019 - |
문제
현재 많은 수의 JPG 이미지 (종이 문서 스캔)가있는 디렉토리가 있습니다.
많은 사람들이 아니라 모든 것이 실제로 색상이 있거나 배경으로 만 색상이 있지 않습니다 (예 : 착색 된 종이 또는 약간의 흰색 스캔).
디스크 공간을 절약하기 위해 그 이미지 (실제 색상의 이미지가없는 이미지가 아닌 이미지가 아님)를 대량 변환하고 싶습니다.
ImageMagick 에서이 작업을 수행 할 수있는 방법이 있음을 추측하지만 어떻게 알지 못합니다.제안?
해결책
ImageMagick의 mogrify
유틸리티가 가장 간단한 해결책이 될 것입니다.
mogrify -path /path/to/output/dir/ -colorspace Gray /path/to/source/files
.
실제 색상만큼이나 자격을 갖는 문서를 식별하는 기능은 매우 현지화 될 수 있습니다.나는 각 이미지가있는 경우 색상 수를 평가할 것을 제안하고 주어진 임계 값 아래로 떨어지는 이미지 만 변환합니다.
THRESHOLD=1024
FILES=`ls /path/to/source/files`
for FILE in ${FILES}; do
COLORS=`identify -format %k "$FILE"`
if [[ $COLORS -lt $THRESHOLD ]]; then
mogrify -path /path/to/output/dir/ -colorspace Gray "$FILE"
fi
.
소음을 줄이기 위해 사전 처리 옵션을 평가하는 것이 현명 할 수도 있습니다. 흑백 적용 할 수있는 가장 쉽지만 기타 훌륭한 솔루션 존재합니다.
제휴하지 않습니다 StackOverflow