웹사이트 검색

Linux 명령줄에서 JPEG 또는 PNG 이미지를 최적화하고 압축하는 방법


이미지가 많고 클라우드나 로컬 저장소에 업로드하기 전에 원래 품질을 잃지 않고 이미지를 최적화하고 압축하고 싶습니까? 이미지를 최적화하는 데 도움이 되는 GUI 응용 프로그램이 많이 있습니다. 그러나 이미지를 최적화하기 위한 두 가지 간단한 명령줄 유틸리티는 다음과 같습니다.

  1. jpegoptim – 품질 저하 없이 JPEG 파일을 최적화/압축하는 유틸리티입니다.
  2. OptiPNG – 정보 손실 없이 PNG 이미지를 더 작은 크기로 최적화하는 작은 프로그램입니다.

이 두 가지 도구를 사용하면 한 번에 하나 또는 여러 개의 이미지를 최적화할 수 있습니다.

명령줄에서 JPEG 이미지 압축 또는 최적화

jpegoptim은 실제 품질을 잃지 않고 JPEG, JPG 및 JFIF 파일을 최적화하고 압축하는 데 사용할 수 있는 명령줄 도구입니다. 이 도구는 허프만 테이블 최적화를 기반으로 하는 무손실 최적화를 지원합니다.

Linux에 jpegoptim 설치

Linux 시스템에 jpegoptim을 설치하려면 터미널에서 다음 명령을 실행하세요.

데비안에서는 파생상품이다
apt-get install jpegoptim
or
sudo apt-get install jpegoptim
RedHat 기반 시스템

RHEL, CentOS, Fedora 등과 같은 RPM 기반 시스템에서는 EPEL 저장소를 설치하고 활성화해야 합니다. 또는 epel을 설치할 수 있습니다. 다음과 같이 명령줄에서 직접 저장소를 열 수 있습니다.

yum install epel-release
dnf install epel-release    [On Fedora 22+ versions]

다음으로 표시된 대로 저장소에서 jpegoptim 프로그램을 설치합니다.

yum install jpegoptim
dnf install jpegoptim    [On Fedora 22+ versions]

Jpegoptim 이미지 최적화 프로그램을 사용하는 방법

jpegoptm의 구문은 다음과 같습니다.

jpegoptim filename.jpeg
jpegoptim [options] filename.jpeg

이제 다음 tecmint.jpeg 이미지를 압축해 보겠습니다. 하지만 이미지를 최적화하기 전에 먼저 그림과 같이 du 명령을 사용하여 이미지의 실제 크기를 알아보세요.

du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

여기서 실제 파일 크기는 6.2MB입니다. 이제 다음을 실행하여 이 파일을 압축합니다.

jpegoptim tecmint.jpeg 

이미지 뷰어 애플리케이션에서 압축된 이미지를 열면 큰 차이점을 찾을 수 없습니다. 소스 이미지와 압축 이미지의 품질은 동일합니다.

위의 명령은 이미지를 가능한 최대 크기로 최적화합니다. 그러나 주어진 이미지를 특정 크기로 압축할 수 있지만 무손실 최적화는 비활성화됩니다.

예를 들어 위 이미지를 5.6MB에서 약 250k로 압축해 보겠습니다.

jpegoptim --size=250k tecmint.jpeg

일괄 JPEG 이미지 압축 및 최적화

전체 디렉토리의 이미지를 압축하는 방법을 물어볼 수도 있습니다. 그것도 어렵지 않습니다. 이미지가 있는 디렉터리로 이동합니다.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/img $ ls -l
total 65184
-rwxr----- 1 tecmint tecmint 6680532 Jan 19 12:21 DSC_0310.JPG
-rwxr----- 1 tecmint tecmint 6846248 Jan 19 12:21 DSC_0311.JPG
-rwxr----- 1 tecmint tecmint 7174430 Jan 19 12:21 DSC_0312.JPG
-rwxr----- 1 tecmint tecmint 6514309 Jan 19 12:21 DSC_0313.JPG
-rwxr----- 1 tecmint tecmint 6755589 Jan 19 12:21 DSC_0314.JPG
-rwxr----- 1 tecmint tecmint 6789763 Jan 19 12:21 DSC_0315.JPG
-rwxr----- 1 tecmint tecmint 6958387 Jan 19 12:21 DSC_0316.JPG
-rwxr----- 1 tecmint tecmint 6463855 Jan 19 12:21 DSC_0317.JPG
-rwxr----- 1 tecmint tecmint 6614855 Jan 19 12:21 DSC_0318.JPG
-rwxr----- 1 tecmint tecmint 5931738 Jan 19 12:21 DSC_0319.JPG

그런 다음 다음 명령을 실행하여 모든 이미지를 한 번에 압축합니다.

tecmint@tecmint ~/img $ jpegoptim *.JPG
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.
DSC_0313.JPG 6000x4000 24bit N Exif  [OK] 6514309 --> 5909840 bytes (9.28%), optimized.
DSC_0314.JPG 6000x4000 24bit N Exif  [OK] 6755589 --> 6144165 bytes (9.05%), optimized.
DSC_0315.JPG 6000x4000 24bit N Exif  [OK] 6789763 --> 6090645 bytes (10.30%), optimized.
DSC_0316.JPG 6000x4000 24bit N Exif  [OK] 6958387 --> 6354320 bytes (8.68%), optimized.
DSC_0317.JPG 6000x4000 24bit N Exif  [OK] 6463855 --> 5909298 bytes (8.58%), optimized.
DSC_0318.JPG 6000x4000 24bit N Exif  [OK] 6614855 --> 6016006 bytes (9.05%), optimized.
DSC_0319.JPG 6000x4000 24bit N Exif  [OK] 5931738 --> 5337023 bytes (10.03%), optimized.

선택한 여러 이미지를 한 번에 압축할 수도 있습니다.

$ jpegoptim DSC_0310.JPG DSC_0311.JPG DSC_0312.JPG 
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.

jpegoptim 도구에 대한 자세한 내용은 매뉴얼 페이지를 확인하세요.

man jpegoptim 

명령줄에서 PNG 이미지 압축 또는 최적화

OptiPNG는 원래 품질을 잃지 않고 PNG(이동식 네트워크 그래픽) 파일을 최적화하고 압축하는 데 사용되는 명령줄 도구입니다.

OptiPNG의 설치 및 사용법은 jpegoptim과 매우 유사합니다.

Linux에 OptiPNG 설치

Linux 시스템에 OptiPNG를 설치하려면 터미널에서 다음 명령을 실행하세요.

데비안에서는 파생상품이다
apt-get install optipng
or
sudo apt-get install optipng
RedHat 기반 시스템
yum install optipng
dnf install optipng    [On Fedora 22+ versions]

참고: optipng를 설치하려면 RHEL/CentOS 기반 시스템에서 epel 저장소를 활성화해야 합니다. 프로그램.

OptiPNG 이미지 최적화 프로그램을 사용하는 방법

optipng의 일반 구문은 다음과 같습니다.

optipng filename.png
optipng [options] filename.png

tecmint.png 이미지를 압축하겠습니다. 하지만 최적화하기 전에 먼저 다음과 같이 이미지의 실제 크기를 확인하세요.

tecmint@tecmint ~/img $ ls -lh tecmint.png 
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png

여기서 위 이미지의 실제 파일 크기는 350K입니다. 이제 다음을 실행하여 이 파일을 압축합니다.

tecmint@tecmint ~/img $ optipng tecmint.png 
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: tecmint.png
1493x914 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 357525 bytes
Input file size = 358098 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211

Output IDAT size = 249211 bytes (108314 bytes decrease)
Output file size = 249268 bytes (108830 bytes = 30.39% decrease)

위 출력에서 볼 수 있듯이 tecmint.png 파일의 크기가 최대 30.39%로 줄었습니다. 이제 다음을 사용하여 파일 크기를 다시 확인하십시오.

tecmint@tecmint ~/img $ ls -lh tecmint.png 
-rw-r--r-- 1 tecmint tecmint 244K Jan 19 12:56 tecmint.png

이미지 뷰어 응용 프로그램에서 압축된 이미지를 열면 원본 파일과 압축 파일 간의 큰 차이점을 찾을 수 없습니다. 소스 이미지와 압축 이미지의 품질은 동일합니다.

일괄 PNG 이미지 압축 및 최적화

일괄 또는 여러 PNG 이미지를 한 번에 압축하려면 모든 이미지가 있는 디렉터리로 이동하여 다음 명령을 실행하여 압축하면 됩니다.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/img $ optipng *.png

OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: Debian-8.png
720x345 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 95151 bytes
Input file size = 95429 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388

Output IDAT size = 81388 bytes (13763 bytes decrease)
Output file size = 81642 bytes (13787 bytes = 14.45% decrease)

** Processing: Fedora-22.png
720x345 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 259678 bytes
Input file size = 260053 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 222479
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 220311
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744
                               
Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744

Output IDAT size = 216744 bytes (42934 bytes decrease)
Output file size = 217035 bytes (43018 bytes = 16.54% decrease)
....

optipng에 대한 자세한 내용은 매뉴얼 페이지를 확인하세요.

man optipng

결론

귀하가 웹마스터이고 웹사이트나 블로그에 최적화된 이미지를 제공하려는 경우 이러한 도구가 매우 유용할 수 있습니다. 이러한 도구는 디스크 공간을 절약할 뿐만 아니라 이미지를 업로드하는 동안 대역폭도 줄여줍니다.

동일한 결과를 얻을 수 있는 다른 더 좋은 방법을 알고 계시다면 댓글을 통해 알려주시고 소셜 네트워크에서 이 기사를 공유하고 지원해 주시는 것도 잊지 마세요.