- 12
- 이니스프리
- 조회 수 252
안녕하세요?
날씨가 무더운데 다들 건강히 계시는지요?? ^^
수천~수만 개의 이미지 파일이 주어졌을 때 이미지의 중복 여부를 빠르게 검사하는 방법이 있을까요?
(1) 속도가 중요하고, (2) 특이도보다는 민감도가 중요한 상황이네요~
해쉬값을 비교하는 방법도 있을 것 같고 그 외에도 여러 방법이 있을 것 같은데 좋은 아이디어가 안 떠오르네요 ㅠㅠ
공개된 프로그램도 좋고, 스크립트를 작성하는 방식도 좋아요!
아이디어나 관련된 정보가 있으시면 답변을 부탁드릴게요 :)
그럼 맛점 드시고 좋은 오후 되세요!
미리 감사드려요 ^-^
작성자
댓글 12
2020.07.08. 19:57
감사합니다!
저도 러프하지만 (바이트 단위의 용량 + 이미지 가로세로 사이즈)로 걸러내는 방법을 생각하긴 했네요 ^^
일단 이 방법으로 가능한 한 효율적인 알고리즘을 구현해보도록 할게요 :)
2020.07.08. 20:49
해상도나 dpi가 다른 이미지는 걸러내기 어려운 로직이네요.
만약 이미지를 일정 크기로 변환하여 랜덤한 몇 군데의 픽셀의 색상값을 저장(데이터베이스 화)했다가 동일한 픽셀값을 갖는 이미지들을 분류해 낸다면 정확도는 올라갈것 같습니다.
만약 이미지를 일정 크기로 변환하여 랜덤한 몇 군데의 픽셀의 색상값을 저장(데이터베이스 화)했다가 동일한 픽셀값을 갖는 이미지들을 분류해 낸다면 정확도는 올라갈것 같습니다.
2020.07.08. 20:55
오오~ 좋은 아이디어를 제공해주셔서 감사합니다!
제 수준에서 파일이 아주 많을 경우에 효율적인 스크립트를 작성하기는 어렵겠지만, 일단 시도는 해볼게요.
그럼 마스터 님께서도 편안한 저녁 되세요 ^^
제 수준에서 파일이 아주 많을 경우에 효율적인 스크립트를 작성하기는 어렵겠지만, 일단 시도는 해볼게요.
그럼 마스터 님께서도 편안한 저녁 되세요 ^^
2020.07.08. 21:07
오 저도 궁금해하던 기능이네요.
구현되면 저도 시연에 참여해볼게요^^
아래 두 분의 이야기는 겨우 감만 잡아보네요.. ^^;
구현되면 저도 시연에 참여해볼게요^^
아래 두 분의 이야기는 겨우 감만 잡아보네요.. ^^;
2020.07.09. 00:03
이정도로 할거라면
차라리 아예 Raw한 값으로 읽어서 a번째 문자부터 a+n번째 글짜를 기록하고 그 값을 비교하는게 속도 면에서는 더 빠르겠네요.
파일을 전부 읽을 필요 없이 0~a+n 만 읽어내면 되고, n 값도 적당한 사이즈로만 조절하면 겹치는 내용도 별로 없을거구요.
다만 파일에 따라 전체길이보다 더 큰 좌표를 찍어 읽어내는건 방지해야겠지요.
차라리 아예 Raw한 값으로 읽어서 a번째 문자부터 a+n번째 글짜를 기록하고 그 값을 비교하는게 속도 면에서는 더 빠르겠네요.
파일을 전부 읽을 필요 없이 0~a+n 만 읽어내면 되고, n 값도 적당한 사이즈로만 조절하면 겹치는 내용도 별로 없을거구요.
다만 파일에 따라 전체길이보다 더 큰 좌표를 찍어 읽어내는건 방지해야겠지요.
2020.07.08. 23:08
아무래도 코딩에 문외한이라 막말로 픽셀값이라고 했지만 제가 생각한 방법이랑 거의 유사합니다.
나머지는 개발자의 역량에 달린걸로 ㅋㅋㅋ
나머지는 개발자의 역량에 달린걸로 ㅋㅋㅋ
2020.07.08. 23:17
조언해주셔서 감사합니다!
말씀해주신 방법이 속도 측면에서는 훨씬 빠르겠네요 ^^
이 방법을 공부해서 구현해보도록 하겠습니다.
그럼 날씨가 무덥지만 네모 님께서도 좋은 하루 되세요!!
말씀해주신 방법이 속도 측면에서는 훨씬 빠르겠네요 ^^
이 방법을 공부해서 구현해보도록 하겠습니다.
그럼 날씨가 무덥지만 네모 님께서도 좋은 하루 되세요!!
2020.07.09. 09:47
참고로 단순히 이미지의 동일성만을 비교할 때에는 아래 스크립트가 효율적이네요 ^^
https://stackoverflow.com/questions/748675/finding-duplicate-files-and-removing-them
https://stackoverflow.com/questions/748675/finding-duplicate-files-and-removing-them
2020.07.09. 12:21
https://www.duplicatephotocleaner.com/
이런 프로그램도 있네요!
속도가 중요하면, 사진을 raw로 읽어와 랜덤한 위치의 몇 글자를 대조해보는것도 방법일 것 같습니다. 헤더부터 끝까지 읽기엔 시간이 너무 오래 걸릴테니 말이죠 ㅠㅠ
근데 이 방법은 어딘가가 수정되거나(일부 모자이크 등), 이미지 확장자가 다르면 검출해내기 쉽지 않을 것 같네요!
이런 프로그램도 있네요!
속도가 중요하면, 사진을 raw로 읽어와 랜덤한 위치의 몇 글자를 대조해보는것도 방법일 것 같습니다. 헤더부터 끝까지 읽기엔 시간이 너무 오래 걸릴테니 말이죠 ㅠㅠ
근데 이 방법은 어딘가가 수정되거나(일부 모자이크 등), 이미지 확장자가 다르면 검출해내기 쉽지 않을 것 같네요!
2020.07.10. 14:08
오오~ 감사합니다!
일단 급한대로 파이썬으로 구현하기는 했는데 아무래도 이런 공개된 소프트웨어가 더 효율적으로 작동하겠죠 ^^
raw로 읽어와서 비교하는 방식도 구현해봐야겠네요 :)
그럼 즐거운 주말 되세요~!
다시 한 번 감사드립니다 ^-^
2020.07.10. 21:24
권한이 없습니다.
바이트 단위의 용량으로 추려내도 잘 걸러지지 않을까요??