2012-04-03 3 views
4

C 확장에서 PIL 이미지의 픽셀 데이터에 액세스하는 속도면에서 가장 효율적인 방법은 무엇입니까? 차이가 나는 경우에만 읽기 전용 액세스가 필요합니다.C 확장에서 PIL 이미지 데이터에 액세스

+0

역순으로 [these] (http://effbot.org/zone/pil-extending.htm) 중 하나가 도움이 될 수 있습니다. 하지만 여전히 프로필을 작성해야합니다. – fraxel

+0

비슷한 질문에 대한 답변이 http://stackoverflow.com/a/6539393/235698 도움이 될 수 있습니다. –

답변

0

PIL 용 C 수준 바인딩을 사용할 수 있지만 이에 대한 설명서는 거의 없습니다. 사용 정보는 소스를 참조해야합니다.

0

C 확장 외에도 numpy을 시도 할 수 있습니다. 그래도 조금 배우는 데 시간이 걸립니다. 시작하려면 Convert RGBA PNG to RGB with PILhttp://effbot.org/zone/pil-numpy.htm을 확인하십시오.

제 경험상 코드가 제대로 작성되면 numpy 성능이 우수합니다. 이미지 데이터 처리는 C 확장을 사용하여 여전히 느릴 수 있습니다. 그러나 numpy는 히스토그램 높이기 또는 알파 블렌딩과 같은 작업을 크게 향상시키는 SSE2와 같은 SIMD 명령어를 사용합니다.

+0

C로 작성된 제 3 자 이미지 압축 프로그램에 PIL 이미지를 전달해야하므로이 옵션은 실제로 나를위한 옵션이 아닙니다. –