eznme 귀하의 질문에 (당신은, 지문을 원하는 그는 압축 및 복원을 설명합니다), 여기에 자주 건너 것이다 방법의 대답하지 않았다 때문에 :
당신은 색상과 밝기 정보 (색차 및 휘도)를 분리
, 다르게 무게를 잰다. 때로는 색차차를 버리고 루마 부분 만 사용하기도합니다. 이렇게하면 지문의 크기가 상당히 줄어들며 (~ 3 단계) 이미지를 인식하는 방법을 고려합니다. 주로 절대적인 색이 아닌 로컬 밝기입니다. 보너스로 이미지의 색상 조작에 대한 견고 함을 얻을 수 있습니다.
분리는 다른 방식으로, 예를 들어. RGB 이미지를 YUV 또는 YIQ 색 공간으로 변환합니다. luma 컴포넌트 만 유지하려는 경우이 두 색상 공간은 동일합니다. 그러나, 그들은 색차를 다르게 인코딩합니다. 다음은 RGB의 휘도 Y에 대한 선형 변환이다 : Y = 0.299 * R + 0.587 * G + 0.114 * B
, 우리가 만드는 것보다 다른 아무것도하지 않고 있다는 것을 알 당신이 수학을 살펴 우리 모두가 수치 적으로 같을 때 푸른 색보다 붉은 색과 붉은 색보다 밝은 녹색을 더 잘 인식한다는 것을 고려한 그레이 스케일 이미지.
약간의 색차 정보를 유지하려는 경우 지문을 최대한 간결하게 유지하려면 두 개의 U, V 구성 요소 (각각 실제로 8 비트)의 해상도를 줄일 수 있습니다. 따라서 정보를 4 비트로 줄이고 Shift 연산자와 결합하여 하나의 8 비트 값으로 결합 할 수 있습니다 (Java에서 작동하는 방식을 모름). 색차는 luma와 비교하여 최종 지문 - 거리 계산 (언급 한 점 제품)에 비해 덜 중요합니다.