2008-09-18 6 views
79

나는 최근에 적어도 기본적인 정도의 이미지 프로세싱을 필요로하는 문제를 보았습니다. 파이썬에서 이것을 할 수 있습니까? 그렇다면 무엇을 할 수 있습니까?이미지 프로세싱, 파이썬?

+4

실시간 화상 처리 : http://morepypy.blogspot.com/2011/07/ – Mikhail

답변

51

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

+7

을 통해이 질문을 발견했습니다. PIL은 가장 기본적인 베어 본 기능 만 제공하지만 파이썬 GUI에 잘 통합됩니다. IM은 엄청나게 더 많은 기능을 갖추고 있지만 GUI와 통합하기 위해 몇 가지 수동 작업 거래 버퍼를 앞뒤로 필요로합니다. – SilverbackNet

+19

슬프지만 ** PIL 솔기가 버려 질 것입니다 ** 그리고 페인트로 만든 BMP 파일을로드하지도 않습니다. 프로젝트 웹 페이지를 확인하면 버그 추적기 (없음), 메일 링리스트 활동, SCM, 버그 등을 찾으십시오. – sorin

+18

[Pillow] (https://pypi.python.org/pypi/Pillow/) 2.1.0)은 유지 보수 및 개발중인 PIL 포크입니다. 아마 대신 그것을 사용하는 것이 좋습니다. –

6

실제적으로 멋진 Python Imaging Library (PIL)가 있습니다. 앤티 앨리어스 기능을 포함하여 기존 이미지를 변경하고 텍스트 등으로 새 이미지를 만들 수 있습니다. 또한 상기 사이트에 제공된 PIL 핸드북에서 decent introductory tutorial을 찾을 수 있습니다.

+9

이 질문을하기 전에 Google을 사용 했습니까? :-) 저는 여러분이 _should_라고 말하지 않고 있습니다. 단지 1 분 안에 여러분의 질문에 대답하는 것이 약간 웃기는 것처럼 보입니다. –

+5

이 사이트의 전체 아이디어는 해당 주제를 검색하는 사용자에게 유용한 정보로 제공되는 쌍 (질문, 답변)을 제공하는 것입니다. 이전에 알지 못했던 유용한 정보를 사이트에서 찾지 못했다면 StackOverflow와 공유 할 것을 권장합니다. – akdom

+8

자주 묻는 질문 : 자신 만의 프로그래밍 질문에 대해 질문하고 대답하는 것은 문제가되지 않지만 문제가되는 것처럼 가장하는 것이 좋습니다. 비록이 질문을 쉽게 Google 검색을 통해 도움이 필요한 사람이 쉽게 답변 할 수 있다고 생각합니다. –

7

pycairo도 있으니 필요에 따라 더 적절할 수 있습니다.

18

"표준"과학 모듈을 기반으로 이미지 처리 방법을 사용할 수도 있습니다. SciPy에는 이미지 처리 전용 패키지 전체가 있습니다 : scipy.ndimage. Scipy는 실제로 표준 일반 수치 계산 패키지입니다. 사실 표준 어레이 조작 모듈 NumPy을 기반으로합니다. 이미지는 숫자 배열로도 조작 할 수 있습니다. 이미지 디스플레이에 관해서는 Matplotlib (또한 "과학 3 부작"의 일부) 이미지를 표시합니다 quite simple.

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

+0

나중에 참조 할 수 있도록 ndimage에는 PIL이 필요합니다. – notJim

+1

@notJim : 맞습니까? PIL은 MacPorts에 의해 SciPy의 의존성에 나열되어 있지 않으며, PIL 설치없이'import scipy'를 할 수 있습니다 ('importError'는'ImportError'로 실패합니다). – EOL

+2

예, ImRead를 사용하여 이미지를 읽으려고 할 때 "raise ImportError ("PIL (Python Imaging Library)를 가져올 수 없습니다 "" – notJim

43

"이미지 처리"의 의미에 따라 numpy 기반 라이브러리에서 더 나은 선택을 할 수 있습니다 : mahotas, scikits.image 또는 scipy.ndimage. 이 모든 것은 numpy 배열을 기반으로하므로 하나의 라이브러리와 다른 라이브러리의 함수를 혼합하여 매치 할 수 있습니다.

나는 웹 사이트를 http://pythonvision.org에 시작했는데 이것들에 대한 더 많은 정보를 가지고있다. OpenCV의 http://opencv.willowgarage.com/documentation/python/index.html

+0

"Scikits.image SciKit (sciPy 용 툴킷) scipy.ndimage를 확장하여 다양한 이미지 처리 루틴을 제공합니다. "왜 그들이 ndimage에 직접적으로 기여하지 않았는지 궁금합니다. – endolith

+1

이 모든 패키지는 내부 구조가 다릅니다. 적어도 내 패키지 인 mahotas는 그래도 ndimage의 코드가 많이 나온다. – luispedro

+0

이제 scikit-image는 http://scikit-image.org에서 호스팅된다. –

11

목록을 작성하려면 realtime-image-processing-python.html
+1

OpenCV는 http://opencv.org/에 있습니다. – Nianliang

관련 문제