이미지매직
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
이미지매직은 1987년 존 크리스티에 의해 개발된 이미지 조작을 위한 소프트웨어이다. 24비트 이미지를 8비트 이미지로 변환하는 데 초점을 맞추어 개발되었으며, 1990년 자유 소프트웨어로 배포되었다. 다양한 명령줄 유틸리티와 API 라이브러리를 제공하며, 이미지 파일 형식 변환, 색상 양자화, 디더링, 리퀴드 리스케일링 등 다양한 기능을 지원한다. 여러 프로그래밍 언어에 대한 바인딩을 제공하며, 그래픽스매직과 같은 관련 소프트웨어도 존재한다. 마이크로소프트 윈도우, 유닉스 계열 시스템 등 다양한 운영체제에서 실행 가능하다.
더 읽어볼만한 페이지
- 1990년 소프트웨어 - 윈도우 3.0
1990년 5월 22일에 출시된 윈도우 3.0은 3차원 GUI와 향상된 메모리 관리, 프로그램 관리자 등의 개선된 인터페이스를 제공하여 멀티태스킹을 지원하고 대중적인 인기를 얻었으나, 출시 이후 반독점 논란에 휘말리기도 했다. - 1990년 소프트웨어 - 페인트샵 프로
로버트 보이트가 개발한 페인트샵 프로는 이미지 변환기로 시작하여 다양한 이미지 편집 기능을 추가하며 발전해 왔고, 코렐에 인수된 후에도 기능 개선을 통해 어도비 포토샵과 경쟁하는 대표적인 이미지 편집 프로그램이다. - 자유 그래픽 스포트웨어 - 김프
김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다. - 자유 그래픽 스포트웨어 - 잉크스케이프
잉크스케이프는 완전한 SVG 표준 구현을 목표로 개발된 자유-오픈 소스 벡터 그래픽 편집기로, 다양한 객체 조작 및 패스 연산 기능을 제공하며 여러 플랫폼을 지원하는 특징을 갖는다. - 스크린샷 소프트웨어 - 마이크로소프트 워드
마이크로소프트 워드는 마이크로소프트에서 개발한 워드 프로세싱 프로그램으로, 다양한 플랫폼에서 여러 버전으로 출시되었으며, WYSIWYG 편집, 맞춤법 검사, 매크로 지원 등 다양한 기능을 제공하고, .doc 및 .docx 파일 형식을 통해 문서 공유의 표준으로 자리매김하였다. - 스크린샷 소프트웨어 - 마이크로소프트 원노트
마이크로소프트 원노트는 텍스트, 이미지, 음성, 영상 등 다양한 형식의 정보를 기록하고 관리할 수 있는 마이크로소프트의 디지털 노트 프로그램으로, 다양한 플랫폼을 지원하며 개인 메모부터 업무 협업까지 폭넓게 활용된다.
이미지매직 - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
이름 | 이미지매직 |
![]() | |
![]() | |
설명 | 자유-오픈 소스 이미지 조작 소프트웨어 |
장르 | 이미지 조작 |
웹사이트 | 공식 웹사이트 |
개발 | |
저자 | 존 크리스티 |
개발자 | ImageMagick Studio LLC |
프로그래밍 언어 | C |
출시 | |
최신 버전 | 7.1.0-5 |
최신 미리보기 버전 | 7.1.1-36 |
운영체제 | |
지원 운영체제 | 크로스 플랫폼 |
지원 플랫폼 | FreeBSD Linux macOS iOS Windows OS/2 |
라이선스 | |
라이선스 | ImageMagick |
스팩스 | ImageMagick |
데비안 승인 | 예 |
GPL 호환 | 예 |
연결 | 예 |
2. 역사
이미지매직은 1987년 듀폰에서 근무하던 존 크리스티가 개발하였다. 당시 대부분의 화면에서 표시할 수 있도록 24비트 이미지(1600만 색상)를 8비트 이미지(256 색상)로 변환하는 데 초점을 맞추었다.[2] 1990년 듀폰이 저작권을 ''ImageMagick Studio LLC''로 이전하면서 자유롭게 배포되었으며, 현재까지도 해당 조직이 프로젝트를 유지 관리하고 있다.[3]
2. 1. 보안 취약점
2016년 5월, ImageMagick에 사용자가 업로드한 이미지를 편집하는 응용 프로그램을 사용하는 서버에서 공격자가 임의 코드를 실행할 수 있는 취약점이 있다는 보고가 있었다. 클라우드플레어의 보안 연구원들은 실제 해킹 시도에서 해당 취약점이 사용된 것을 확인했다. 이 보안 결함은 ImageMagick이 경로와 파일 이름에 부적절한 셸 명령어가 없는지 제대로 확인하지 않고 백엔드 도구를 호출했기 때문에 발생했다. 이 취약점은 적절하게 구성된 보안 정책을 포함하는 ImageMagick 배포판에는 영향을 미치지 않았다.3. 기능 및 특징
이미지매직은 주로 이미지 조작을 위한 명령줄 인터페이스 유틸리티로 구성되어 있다. 다양한 프로그래밍 언어를 위한 API 라이브러리를 제공하여 개발자들이 자신의 프로그램에 이미지 처리 기능을 쉽게 통합할 수 있도록 지원한다.[9] 미디어위키 서버도 이미지 관련 처리를 위해 이미지매직을 제안하고 있다.[10]
유닉스 계열 운영 체제에서 이미지를 렌더링하고 조작하기 위한 기본적인 X 윈도우 GUI (IMDisplay)를 포함하고 있으며, 이미지 파일 형식을 식별하기 위해 매직 넘버를 사용한다.
Drupal, 미디어위키, phpBB, vBulletin과 같은 여러 프로그램은 이미지매직이 설치되어 있으면 이미지 썸네일을 생성하는 데 사용할 수 있다. 또한 LyX와 같은 다른 프로그램에서도 이미지를 변환하기 위해 이미지매직이 사용된다.
이미지매직은 다음과 같은 다양한 언어 바인딩을 제공한다.
프로그래밍 언어 | 바인딩 |
---|---|
Perl | PerlMagick |
Ada | G2F |
C | MagickCore, MagickWand |
Ch | ChMagick |
COM+ | ImageMagickObject |
C++ | Magick++ |
Java | JMagick |
Lisp | L-Magick |
Neko/Haxe | NMagick |
.NET | MagickNet |
Pascal | PascalMagick |
PHP | MagickWand for PHP, IMagick |
Python | PythonMagick |
Ruby | RMagick |
Tcl/Tk | TclMagick |
3. 1. 파일 형식 변환
이미지매직의 기본적이고 완벽하게 구현된 기능 중 하나는 서로 다른 파일 형식 간에 이미지를 효율적이고 정확하게 변환하는 기능이다. (이는 `magick` 명령어를 사용하여 수행된다.)3. 2. 색상 양자화
이미지매직에서는 이미지의 색상 수를 이미지 픽셀에 있는 가장 두드러진 색상 값에 가중치를 주어 임의의 수로 줄일 수 있다.이와 관련된 기능으로 포스터화 예술 효과가 있는데, 이미지에 표현된 색상 수를 줄인다. 표준 색상 양자화에서는 최종 색상 팔레트가 이미지에 원래 있던 색상의 두드러짐에 대한 가중치를 기반으로 선택되는 반면, 포스터화는 이미지에 표현된 색상 스펙트럼 전체에 걸쳐 부드럽게 분산된 색상 팔레트를 생성한다는 차이점이 있다. 표준 색상 양자화에서는 최종 색상 값이 모두 원래 이미지에 있던 값인 반면, 포스터화된 이미지의 색상 값은 원래 이미지에 없을 수도 있지만, 원래 색상 값 사이에 존재한다.
3. 3. 디더링
색상 및 음영 변경 중에 발생하는 디더링에 대한 정밀한 제어가 제공되며, 하프톤 디더링을 생성하는 기능도 포함된다.3. 4. 리퀴드 리스케일링
리퀴드 리스케일링 지원이 2008년에 추가되었다. 이 기능을 사용하면, 이미지를 왜곡하지 않고 가로 세로 비율이 4:3인 이미지를 16:9 이미지로 크기 조정할 수 있다.3. 5. 예술적 효과
ImageMagick은 예술적인 효과를 만들기 위한 다양한 필터와 기능을 포함하고 있다.- 숯 스케치 변환
- 포스터화
3. 6. 기타 기능
- 형식 변환: 이미지를 한 형식에서 다른 형식으로 변환한다.(예: PNG에서 JPEG로)
- 변환: 이미지 크기 조절, 회전, 자르기, 뒤집기 또는 트리밍한다. (가능한 경우 JPEG 파일에 대해 세대 손실 없이 적용)
- 투명도: 이미지의 일부를 보이지 않게 렌더링한다.
- 그리기: 이미지에 도형 또는 텍스트 추가한다.
- 장식: 이미지에 테두리 또는 프레임 추가한다.
- 특수 효과: 블러, 선명하게, 임계값 또는 이미지 채색한다.
- 애니메이션: 일련의 이미지에서 GIF 애니메이션 파일 조립한다.
- 텍스트 및 주석: 이미지에 설명 또는 예술적 텍스트 삽입한다.
- 이미지 식별: 이미지의 형식과 속성 설명한다.
- 합성: 한 이미지를 다른 이미지 위에 겹쳐 놓는다.
- 몽타주: 이미지 캔버스에 이미지 썸네일 나란히 배치한다.
- 일반화된 픽셀 왜곡: 원근감을 포함한 이미지 왜곡을 수정하거나 유도한다.
- 도형의 형태: 이미지에서 특징을 추출하고, 도형을 설명하고, 패턴을 인식한다.
- 동영상 지원: 디지털 영화 작업에 사용되는 일반적인 이미지 형식을 읽고 쓰기.
- 이미지 계산기: 이미지 또는 이미지 채널에 수학적 표현식 적용한다.
- 이산 푸리에 변환: 정방향 및 역방향 DFT 구현한다.
- 색상 관리: 색상 프로파일을 사용하거나 그 대신 - 색상 공간에서 요구하는 감마 압축 또는 확장을 내장하여 정확한 색상 관리한다.
- HDR(High-dynamic-range) 이미지: 가장 밝은 직사광선부터 가장 어두운 그림자까지 실제 장면에서 발견되는 광범위한 강도 레벨을 정확하게 표현한다.
- 이미지 암호화 또는 해독: 일반 이미지를 이해할 수 없는 횡설수설로 변환하고 다시 변환한다.
- 가상 픽셀 지원: 이미지 영역 외부의 픽셀에 편리하게 접근한다.
- 대용량 이미지 지원: 메가, 기가 또는 테라 픽셀 이미지 크기를 읽고, 처리하고, 쓰기.
- 실행 스레드 지원: ImageMagick은 스레드 안전하며, 대부분의 내부 알고리즘은 멀티 코어 프로세서 칩에서 제공하는 속도 향상을 활용하기 위해 병렬로 실행한다.
- 이질적인 분산 처리: 특정 알고리즘은 CPU, GPU 및 기타 프로세서로 구성된 이질적인 플랫폼에서 함께 실행하여 제공되는 속도 향상을 활용하기 위해 OpenCL을 지원한다.
- 분산 픽셀 캐시: 중간 픽셀 저장을 하나 이상의 원격 서버로 오프로드한다.
4. 라이브러리 및 사용 방법
이미지매직은 프로그램 소스코드 수준에서 API를 사용할 수 있도록 다양한 프로그래밍 언어로 라이브러리를 제공하며,[9] 커맨드라인 방식을 지원하므로 실행파일 수준에서도 다양하게 응용할 수 있다. 미디어위키 서버도 이미지 관련 처리를 위해 이미지매직을 제안하고 있다.[10] PerlMagick 외에도 다양한 언어 바인딩을 제공한다.
4. 1. 명령 줄 사용
이미지매직은 명령줄에서 사용하는 방법과 다른 프로그램에서 호출하여 사용하는 방법이 있다. 이미지매직은 다수의 명령줄 도구를 포함하고 있어, 일괄 처리 등에서 GUI를 사용하지 않고 이미지 처리를 하고 싶은 경우에 유용하다.[6]- 이미지 표시 - `display input_file`
- 스크린샷 - `import [ options ... ] output file`
- 이미지 변환 - `convert [ options ... ] input_file output_file`
- 예: `convert -delay 100 -loop 0 magick[1-2].gif magick-anime.gif`
4. 2. 프로그래밍 언어별 사용
이미지매직은 다양한 프로그래밍 언어에서 사용할 수 있도록 API를 제공한다.[9] 드루팔(Drupal), 미디어위키, phpBB, vBulletin과 같은 여러 프로그램에서 이미지 썸네일을 생성하는 데 이미지매직을 사용할 수 있다. LyX와 같은 다른 프로그램에서도 이미지 변환을 위해 이미지매직을 사용한다.다음은 언어별 구현을 보여준다.[7]
언어 | 구현 이름 |
---|---|
Ada | G2F |
C 언어 | MagickCore MagickWand |
Ch | ChMagick |
COM+ | ImageMagickObject |
C++ | Magick++ |
Go | GoImagick |
Java | JMagick |
LabVIEW | LVOOP ImageMagick |
Lisp | L-Magick |
Lua | magick |
Neko/Haxe | NMagick |
.NET | MagickNet |
Pascal | PascalMagick |
Perl | PerlMagick |
PHP | MagickWand for PHP IMagick |
Python | PythonMagick |
REALbasic | MBS Realbasic ImageMagick |
Ruby | RMagick |
Rust | RustWand |
Tcl | TclMagick |
XML-RPC | RemoteMagick |
5. 관련 소프트웨어
GraphicsMagick은 2002년에 ImageMagick 5.5.2에서 포크된 것으로, 프로그래밍 API와 명령줄 옵션의 릴리스 간 안정성을 강조한다. GraphicsMagick은 개발자 그룹 간의 화해할 수 없는 차이로 인해 등장했다.
6. 배포
크로스 플랫폼으로, 마이크로소프트 윈도우와 유닉스 계열 시스템(리눅스, macOS, iOS, 안드로이드, 솔라리스, Haiku, FreeBSD 포함)에서 실행된다. 이 프로젝트의 소스 코드는 AmigaOS 4.0와 MorphOS를 포함한 다른 시스템에서도 컴파일될 수 있다. IRIX에서도 실행된 적이 있다.
참조
[1]
웹사이트
ImageMagick License
https://spdx.org/lic[...]
[2]
웹사이트
ImageMagick: Manipulating Graphics From The Command-Line?
2019-02-12
[3]
웹사이트
ImageMagick
2019-02-27
[4]
웹사이트
ImageMagick: Formats
http://www.imagemagi[...]
[5]
웹사이트
ImageMagick: License
http://www.imagemagi[...]
[6]
웹사이트
ImageMagick: Command-line Tools
http://imagemagick.o[...]
[7]
웹사이트
ImageMagick: Application Program Interfaces
http://www.imagemagi[...]
[8]
URL
https://www.imagemag[...]
[9]
URL
https://www.imagemag[...]
[10]
URL
https://www.mediawik[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com