이미지 처리, 파이썬? [닫은]


81

최근에 최소한 기본적인 이미지 처리가 필요한 문제를 발견했습니다. 파이썬에서이 작업을 수행 할 수 있습니까? 그렇다면 어떻게해야합니까?


4
PyPy를 사용한 실시간 이미지 처리 : morepypy.blogspot.com/2011/07/…
Mikhail

답변:


53

가장 잘 알려진 라이브러리는 PIL 입니다. 그러나 단순히 기본 조작을 수행하는 경우 ImageMagick 에 대한 Python 바인딩을 사용하는 것이 더 나을 것입니다. 이는 Python 에서 변환을 작성하는 것보다 훨씬 효율적입니다.


7
나는 당신이 그것을 거꾸로 생각한다고 생각합니다. PIL은 절대적으로 가장 기본적인 베어 본 기능만을 제공하지만 Python GUI와 잘 통합됩니다. IM은 훨씬 더 완전한 기능을 갖추고 있지만 GUI와 통합하려면 몇 가지 수동 작업 거래 버퍼가 필요합니다.
SilverbackNet

19
이렇게 말하자, 슬프지만 PIL 이음새는 버려 지고 Paint로 만든 BMP 파일도로드하지 않습니다. 프로젝트 웹 페이지를 확인하면 알 수있을 것입니다. 버그 추적기 (없음), 메일 링리스트 활동, SCM 등을
찾으십시오.

19
Pillow 는 유지 및 개발중인 PIL의 포크입니다. 대신 사용하는 것이 좋습니다.
David Johnstone

46

"이미지 처리"가 의미하는 바에 따라 더 나은 선택은 numpy 기반 라이브러리 인 mahotas , scikits.image 또는 scipy.ndimage 입니다. 이 모든 것은 numpy 배열을 기반으로 작동하므로 한 라이브러리와 다른 라이브러리의 함수를 혼합하고 일치시킬 수 있습니다.

나는 이것들에 대한 더 많은 정보를 가지고있는 http://pythonvision.org 웹 사이트를 시작했다 .


"scikits.image SciKit (SciPy 용 툴킷)은 scipy.ndimage를 확장하여 다양한 이미지 처리 루틴 세트를 제공합니다." 왜 그들이 ndimage에 직접 기여하지 않았는지 궁금합니다.
endolith 2011

1
이 모든 패키지는 내부 구조가 다릅니다. 적어도 내 패키지 인 mahotas는 ndimage에서 많은 코드를 가져 왔습니다.
luispedro 2011


감사. 내 대답을 업데이트
luispedro

scipy.ndimage링크가 죽었습니다. 현재 링크, 아마도 : scipy.github.io/devdocs/tutorial/ndimage.html
kmonsoor

19

또한 "표준"과학 모듈을 기반으로 이미지 처리에 접근 할 수 있습니다. SciPy 에는 이미지 처리 전용 전체 패키지 인 scipy.ndimage가 있습니다. Scipy는 사실상 표준 일반 수치 계산 패키지입니다. 사실상 표준 배열 조작 모듈 NumPy를 기반으로합니다 . 이미지는 숫자 배열로도 조작 할 수 있습니다. 이미지 디스플레이의 경우 Matplotlib ( "과학 3 부작"의 일부)는 이미지를 매우 간단 하게 표시 합니다 .

SciPy는 여전히 활발히 유지되고 있으므로 미래를위한 좋은 투자입니다. 또한 SciPy는 현재 Python 3에서도 실행되지만 PIL (Python Imaging Library)에서는 실행되지 않습니다.


향후 참조를 위해 ndimage에는 어쨌든 PIL이 필요합니다.
davidtbernal 2011

1
@notJim : 그렇습니까? PIL은 MacPorts의 SciPy 종속성에 나열되어 import scipy있지 않으며 PIL 설치없이 수행 할 수 있습니다 (으로 import Image실패 ImportError).
Eric O Lebigot 2011

2
내가 ImRead를 사용하여 이미지를 읽으려고 할 때 예, 나는 오류 "인상 ImportError를 ("파이썬 이미징 라이브러리 (PIL) "를 가져올 수 없습니다"있어요
davidtbernal

2
@notJim : SciPy가 이미지 읽기를 위해 PIL에 의존한다는 것은 사실입니다 ( "간단한"JPEG 파일로 시도했지만 귀하의 예에서와 동일하게 실패했습니다). SciPy는 PIL 없이도 이미지 처리 를 수행 할 수 있습니다 (PIL은 선택적 종속성 임).
Eric O Lebigot 2011



6

실제로 훌륭한 Python Imaging Library (PIL)가 있습니다. 앤티 앨리어싱 기능을 포함하여 기존 이미지를 변경하고 텍스트 등으로 새 이미지를 만들 수있는 기능을 제공합니다. 앞서 언급 한 사이트에서 제공되는 PIL 핸드북에서 괜찮은 입문 자습서 를 찾을 수도 있습니다.


9
이 질문을하기 전에 Google을 사용하셨습니까? :-) 나는 당신이 해야한다고 말하는 것이 아닙니다 . 단지 1 분 안에 당신의 질문에 대답하는 것이 약간 웃기게 보인다는 것입니다.
Alexandra Franks

5
이 사이트의 전체 아이디어는 주제를 검색하는 사람에게 유용한 정보가 될 (질문, 답변) 쌍을 제공하는 것입니다. 이전에 알지 못했지만 아직 사이트에없는 유용한 정보를 발견 한 경우 StackOverflow와 공유하는 것이 좋습니다.
akdom

8
FAQ에서 : 자신의 프로그래밍 질문을 묻고 답하는 것도 완벽하게 좋지만, Jeopardy에있는 것처럼 가장하십시오. 질문 형식으로 표현하십시오. 하지만, 나는이 질문에 빠르고 쉽게 Google 검색을 통해 필요로하는 누구나 대답 할 수 있다고 생각 ...
마틴 W

5
@MartinW-Google 검색을 통해이 질문을 찾았습니다
Bulwersator


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.