2012-06-18 5 views
10

그레이 스케일 이미지 (특히 픽셀 당 16 비트)의 BMP 형식은 무엇입니까? wikipedia은 bmp의 컬러 이미지를 말합니다.그레이 스케일 이미지의 BMP 형식은 무엇입니까?

업데이트 :이 압축되지 않은 16 비트 그레이 스케일을 지원할 수있는 단지 미래의 방문자에 대한 업데이 트 및 정보

, 나는 PGM에 대한 것입니다. 또 다른 옵션은 PNG을 사용하는 것이지만, 데이터를 압축합니다 (내가 원하지 않는 데이터). 설명은 here입니다. 대부분의 모니터는 256 색을 지원하고 16 비트는 4096을 지원하지 않으므로 이미지가 왜곡되어 나타날 수 있습니다. 따라서 이미지는 포화 상태가됩니다.

16 비트 이미지의 경우 그레이 스케일의 경우 BMP가 인 것을 알면 놀랍지 만.
문제를 이해하는 데 도움을 주신 분께 감사드립니다.

+0

16 비트 그레이 스케일을 원하면 다른 형식을 사용해야합니다. PNG를 제안합니다. –

+0

은 손실이 적은 압축입니까? – gpuguy

+0

예, PNG는 무손실입니다. 압축을 위해 zlib을 사용합니다 : https://en.wikipedia.org/wiki/Portable_Network_Graphics –

답변

3

그레이 스케일 이미지의 경우 8 비트 BMP를 사용합니다. 8 비트 BMP는 팔레트로 색상을 인코딩 할 수 있습니다. 그러나 하나도 사용하지 않으면 색상 값 [0...255]을 검정색 (0)에서 흰색 (255)까지의 색상으로 해석하면됩니다.

편집 : 16 비트 그레이 스케일 이미지에는 BMP를 사용하지 않습니다. 기술적으로 16 비트 그레이 스케일 데이터 (http://en.wikipedia.org/wiki/BMP_file_format#Pixel_format)를 인코딩 할 때 픽셀 당 16 비트 BMP 형식을 사용할 수 있습니다. 그러나 실제로는 깊이가 픽셀의 알파, 빨강, 녹색 및 파랑 샘플을 인코딩하도록 설계 되었기 때문에 이것은 나쁜 아이디어입니다 (hacky 읽기).

픽셀 당 16 비트 그레이 스케일 데이터를 저장하는 데 더 좋은 형식은 PNG입니다.

또한 자신에게 물어보십시오. 실제로 추가 정밀도가 필요합니까? 대부분의 응용 프로그램에서 픽셀 당 8 비트가 정밀합니다 (= 정밀도에 대한 특정 요구 사항이없는 경우이 경우 일 수 있습니다).

+0

이것은 16 비트 그레이 스케일 이미지로 정말 도움이됩니다. – trumpetlicks

+0

예. 질문은 그 정보로 나중에 업데이트되었습니다. – jsalonen

+0

죄송합니다. 업데이트에 대한주의를 기울이지 않았습니다. :-) – trumpetlicks

2

네 말이 맞아, BMP는 색상에 대해서만 알고있다. 이 작업을 수행하는 방법은 첫 번째 항목 (0,0,0), 두 번째 항목 (1,1,1) 등등과 같은 256 개의 항목 팔레트를 만드는 것입니다. 각 항목은 R, G, B에 대해 동일한 값을 갖습니다. 팔레트를 사용하여 픽셀 당 8 비트의 이미지를 만듭니다.

편집 : 16 비트 그레이 스케일에 대한 새로운 요구 사항이 주어지면 8 비트로 변환하거나 BMP 이외의 다른 형식을 사용하는 두 가지 선택 사항이 있다고 생각합니다.

+0

이것은 16 비트 그레이 스케일 이미지로 정말 도움이되지 않습니다 !!! – trumpetlicks

+0

@trumpetlicks, 문제는 16 비트가 쓰여질 때 언급하지 않았습니다. –

+0

죄송 합니다만, 업데이트로 주목하지 않으 셨습니다 :-) 그 외에는 좋은 답변입니다! – trumpetlicks

1

TIFF와 PNG는 기본적으로 16 비트 회색조를 지원합니다.

http://en.wikipedia.org/wiki/Grayscale

임 저장하려는 이러한 이미지는 단순히 표시하지만 여분의 정밀도를 필요로 후 처리의 일종위한 것이 아닙니다 가정? 그렇지 않다면 가장 중요하지 않은 8 비트를 지우고 컬러 맵을 사용하여 더 간단한 8 비트 비트 맵을 저장하여 각 값을 값 -> (값, 값, 값) RGB 매핑으로 매핑하는 것이 좋습니다.

관련 문제