2009-04-09 3 views
0

데이터 세트의 키가 문자열 인 경우 효율적으로 데이터에 액세스하는 Trie 구조가 있습니다. 데이터 세트의 핵심이 이미지 인 경우 최상의 인덱스는 무엇입니까?데이터베이스의 데이터에 액세스하기위한 이미지 인덱스

키는 데이터를 고유하게 구별하는 것을 의미합니다. 이미지가 데이터에 액세스하는 빈도가 적은 시나리오입니까? 손가락 인쇄 데이터베이스처럼 사용되는 응용 프로그램이 있다고 느낍니다.

이 경우 해시 도움이 되나요? 픽셀 값에 따라 이미지를 고유 번호로 해시하는 것을 의미합니다.

이에 대한 모든 정보를 알려주십시오.

환호

+0

이미지를 키로 사용한다는 것은 무엇을 의미합니까? 이미지 식별자 또는 파일 이름을 의미합니까? – Uri

+0

더 나은 제안을하려면, 당신이하고 싶은 것을 좀 더 자세하게 설명해야합니다. –

답변

1

I 해요 당신이해야 할 노력하고 있지만, 해싱 당신과 함께 이미지를 식별하는 고유 한 문자열을 제공해야하는지 100 % 확인합니다. 당신은 당신의 언어를 지정하지 않았지만, 대부분은 전체 파일의 데이터를 해쉬하는 기능을 가지고 있습니다. 그래서 그걸 통해 이미지 파일을 실행할 수 있습니다. 예를 들어, PHP는 md5_file()입니다.

2

해시 함수를 사용하여 이미지를 기반으로 항목을 찾을 수 있습니다. 그러나이 시나리오에서는별로 유용하지 않습니다.

지문 인식, 얼굴 인식 또는 개체 식별과 같은 응용 프로그램은 기능 추출 프로세스를 수행합니다. 즉, 복잡한 이미지 구조를 저장된 패턴과 비교할 수있는 더 간단한 특징 벡터로 변환합니다.

실제 어려운 작업은 이미지의 '노이즈'에서 중요한 정보를 분리해야하는 기능 추출 프로세스입니다.

이미지를 해시하면 사용할 수있는 기능이 없습니다. 몇 가지 정보를 찾기 위해 이미지를 해싱하는 것에 대해 생각할 수있는 유일한 상황은 이미지 데이터베이스를 만드는 것입니다. 그러나이 경우조차 SHA1 또는 MD5와 같은 공통 해시 함수는 거의 사용되지 않습니다. 작성자와 같은 단일 픽셀이나 메타 데이터를 수정하면 해시가 변경되어 공통 해시 함수를 기반으로 두 이미지를 식별 할 수 없기 때문입니다.

1

해결하려는 문제가 명확하지 않습니다. 이 경우 Trie 구조는 일반 해시 테이블에 비해 성능상의 이점이 거의 없을 것이라고 생각하지만 전체 이미지에 대한 해시를 확실히 구할 수 있으며이를 Trie 구조의 키로 사용할 수 있습니다.) 해시를 할 때마다.

두 이미지를 비교하거나 트리에서 비슷한 이미지를 빠르게 찾고 싶은 경우 이미지의 GIF 또는 JPEG 헤더를 키의 시작으로 사용할 수 있습니다. 이렇게하면 비슷한 유형, 크기, 색인 색상 등의 이미지가 Trie 구조 내에서 서로 가까이 그룹화됩니다. 그런 다음 충돌이있는 경우에만 이미지의 해시를 계산할 수 있습니다 (즉, 똑같은 머리글을 가진 Trie의 여러 이미지).

관련 문제