이진수 바이트 (8 자리)로서의 숫자 124는 01111100입니다. 3 바이트의 RGB 3 배를 나타내려면 3 배의 8 배 또는 24 비트가 필요합니다. 기본적 r.composite
으로 각 밴드에서 최하위 비트를 삭제하여이 값을 15 비트로 줄입니다. 따라서 01111100에서 01111 (15)을 다듬습니다 (동일하게는 124를 8로 나누고 나머지는 무시합니다).이 세 가지 5 비트 결과는 순서대로 B, G, R로 연결되어 15 비트 숫자를 형성합니다. (0과 2 ^ 15-1 = 32767 사이의 값을 나타내며, 이는 색상 표를 관리 가능한 크기로 유지하기에 충분히 작습니다). 따라서이 값은 원래 8 개가 아닌 5 비트의 정밀도를 갖는 3 개의 이미지 밴드를 나타냅니다.
질문의 예 에서 계산은 다음과 같이 진행됩니다.
파란색 = 124는 124/8 = 15로 변환됩니다 (더하기 무시 된 나머지 4). 이진수로 이것은 01111입니다.
녹색 = 124는 124/8 = 15로 변환됩니다 (더하기 무시 된 나머지 4). 이진수로 이것은 01111입니다.
빨간색 = 172는 172/8 = 21로 변환됩니다 (더하기 무시 된 나머지 4). 이진수로 10101입니다.
숫자는 01111 01111 10101로 연결됩니다.이 15 자리 2 진수는 15861 = (15 * 32 + 15) * 32 + 21을 나타냅니다.
r.composite
이 옵션은 이보다 더 많은 처리를 수행 할 수 있으며 제공하는 옵션에 따라 약간 다르게 처리 될 수 있지만 이러한 작업은 바이트를 5 비트 값으로 변환 할 수있는 기본 방법을 보여줍니다.
32로 연속 나누기를 사용 하여 절차 를 대략적으로 되돌릴 수 있습니다 .
15861/32 = 495 + 나머지 21
495/32 = 15에 나머지 15를 더한 값. (8을 곱하면이 15에 나머지 120은 그린 밴드의 원래 124보다 조금 작습니다.)
우리는 15를 남겼습니다. 8을 곱하면 120이되는데, 이는 파란색 밴드의 원래 124보다 조금 작습니다.
참고
r.composite
에서 매뉴얼 페이지 https://grass.osgeo.org/grass72/manuals/r.composite.html .