파일 해시와 지각 해시
| 방식 | 보는 것 | 한 픽셀만 달라지면 | 쓸모 |
|---|---|---|---|
| 파일 해시 | 파일을 이루는 바이트 전체 | 완전히 다른 값 | 같은 파일이 두 번 저장된 경우 찾기 |
| 지각 해시 | 사람 눈에 보이는 모양 | 거의 같은 값 | 다시 압축되거나 크기가 바뀐 사본, 연사 찾기 |
메신저를 거친 사진은 다시 압축되므로 파일 해시로는 절대 같다고 나오지 않습니다. 그래서 정리 앱은 지각 해시를 씁니다. 반대로 지각 해시만 쓰면 하늘 사진 여러 장이 전부 한 묶음이 되어 버립니다. 두 가지를 같이 써야 쓸 만해집니다.
지문을 만드는 법
흔히 쓰는 방법 두 가지입니다. 둘 다 결과는 64비트, 즉 0과 1 예순네 개짜리 짧은 값입니다.
- dHash: 사진을 아주 작은 흑백 격자로 줄인 뒤, 옆 칸보다 밝은가만 기록합니다. 밝기나 대비가 달라져도 값이 잘 흔들리지 않습니다.
- pHash: 사진을 주파수 성분으로 바꿔 큰 형태만 남기고 비교합니다. 자르기나 크기 변경, 가벼운 보정까지 견딥니다.
이 과정에서 사진은 숫자 몇 개로 줄어듭니다. 지문만 가지고 원래 사진을 되살릴 수는 없습니다. 정리 앱이 사진을 저장하지 않고도 다음 스캔을 빠르게 끝낼 수 있는 이유이기도 합니다.
거리로 판단한다
두 지문을 나란히 놓고 몇 자리가 다른지를 셉니다. 이 개수를 해밍 거리라고 합니다. 0이면 지문이 똑같다는 뜻이고, 숫자가 커질수록 다른 사진입니다.
| 기준을 좁히면 | 기준을 넓히면 |
|---|---|
| 거의 똑같은 것만 묶임 | 연사와 비슷한 구도까지 묶임 |
| 놓치는 사본이 생김 | 다른 장면이 섞임 |
| 확인이 편하고 안전 | 정리량은 많지만 확인이 필요 |
정답은 없습니다. 정리 목적이면 좁게, 연사를 몰아서 치우려면 넓게 두고 결과를 보면서 맞추는 편이 좋습니다.
잘못 묶이는 경우
- 단색에 가까운 사진: 하늘, 벽, 바닥, 까만 화면. 모양 정보가 거의 없어서 지문이 서로 비슷해집니다.
- 같은 자리에서 찍은 다른 순간: 구도가 똑같으면 지문도 가깝습니다. 사람이 바뀌어도 묶일 수 있습니다.
- 같은 서식의 문서: 영수증, 시험지, 서류는 글자만 다르고 배치가 같아 묶이기 쉽습니다.
- 좌우가 뒤집힌 사진: 반대로, 사람 눈에는 같아 보여도 지문은 전혀 다르게 나옵니다.
포토스윕에서

완전히 같은 사진과 비슷한 사진을 나눈다
포토스윕은 둘을 다른 카테고리로 둡니다. 완전히 같은 사진은 파일 크기와 해상도, 지문 두 개가 전부 일치하는 것만 묶습니다. 비슷한 사진은 지문이 가까운 것들을 묶은 것이라 사람의 확인이 필요합니다. 두 경우 모두 무리에서 한 장은 반드시 남습니다.
어디까지 비슷한 걸로 볼까
설정의 어디까지 비슷한 걸로 볼까에서 엄격·보통·느슨 세 단계를 고릅니다. 지문이 몇 자리까지 달라도 같은 장면으로 볼지를 정하는 값이고, 화면에도 그 숫자가 표시됩니다. 엉뚱한 사진이 자꾸 묶이면 엄격으로, 연사가 흩어지면 느슨으로 옮기세요.

흐림 기준은 내 갤러리에서 정해진다
흐림은 지문과 다른 값으로 판단합니다. 포토스윕은 고정된 숫자를 쓰지 않고 내 갤러리의 선명도 분포를 본 뒤 하위 몇 퍼센트만 흐리다고 봅니다. 기기와 렌즈가 달라도 기준이 흔들리지 않습니다. 설정의 흐림 판정 빡세게를 켜면 그 비율이 올라갑니다.
자주 묻는 질문
사진이 서버로 보내지는 건 아닌가요?
지각 해시는 기기 안에서 계산하는 값이라 사진을 보낼 이유가 없습니다. 포토스윕도 사진에 관한 것은 아무것도 전송하지 않고, 인터넷은 광고를 불러올 때만 씁니다.
두 번째 스캔은 왜 빠른가요?
한 번 계산한 지문과 숫자를 앱 전용 폴더에 저장해 두기 때문입니다. 다음 스캔에서는 새로 찍은 사진만 계산하면 됩니다. 설정에서 이 캐시를 비우면 처음부터 다시 봅니다.
영상도 같은 방식으로 찾나요?
영상은 길이와 앞·중간·끝 장면을 비교해 묶습니다. 사진보다 계산이 무거워서 필요할 때만 따로 돌립니다.
포토스윕: 중복사진 정리·용량 확보
무리마다 한 장은 반드시 남습니다. 사진을 밖으로 보내지 않고 기기 안에서만 도는 안드로이드 사진 정리 앱입니다.