2012-05-02 5 views
0

RGB 값 읽기 이미지를 가져와야합니다. C 언어로 어떻게 할 수 있습니까?이미지 파일을 읽으려면 어떻게해야합니까?

이미지 형식은 png, jpg, bmp 또는 기타 일반 형식이 될 수 있습니다. 텍스트 파일에 저장해야합니다.

+1

OpenGL은 이미지 파일 형식을 읽거나 신경 쓰지 않습니다. 이를 위해 [이미지 로딩 라이브러리를 사용해야합니다] (http://www.opengl.org/wiki/Image_Libraries). –

+1

어떤 언어? 어떤 플랫폼? – phantasmagoria

+0

C 프로그래밍 언어, 텍스트 파일로 저장. – shibly

답변

1

이러한 모든 형식의 읽기 및 쓰기를 처리 할 수있는 매우 사용하기 쉬운 이미지 라이브러리는 FreeImage입니다. 주로 C 라이브러리이지만 C++ 용 래퍼도 있습니다.

"텍스트 파일에 저장"이라고 말하면 바이너리 형식이 훨씬 더 작기 때문에 이미지에 꽤 비 전형적인 것입니다. 픽셀 강도에 대한 원시 문자열 값을 저장합니다. 또한 많은 형식은 압축을 사용합니다. 즉, 픽셀 당 실제로 "값"이 없다는 의미입니다. 대신 모든 픽셀에 개별적으로 값을 할당하기 전에 데이터를 압축 해제해야합니다. PPM과 같이 ASCII 데이터로 저장할 수있는 이미지 형식이 있지만 큰 이미지를 저장할 때 가장 효율적인 방법은 아닙니다.

워크 플로의 경우 FreeImage과 같은 라이브러리를 사용하여 이미지 파일의 값을 읽은 다음 압축되지 않은 픽셀 값을 PPM 파일이나 사용자 지정 형식의 텍스트 파일에 다시 쓸 수 있습니다.

관련 문제