ฉันจะค้นหาภาพถ่ายที่ซ้ำกันในแหล่งข้อมูลที่มีขนาดใหญ่มาก (หลายสิบถึงหลายร้อยกิ๊ก) ได้อย่างไร


16

ทุกคนสามารถแนะนำยูทิลิตีการตรวจจับการทำสำเนาภาพถ่ายที่ดีซึ่งทำงานได้ดีเมื่อฉันจัดการกับข้อมูลขนาด 100GB (รวบรวมในช่วงหลายปีที่ผ่านมา)

ฉันต้องการบางสิ่งที่ใช้งานได้บน Ubuntu

ขอบคุณล่วงหน้า!

แก้ไข: มีเครื่องมือที่จะช่วยฉันจัดระเบียบคอลเล็กชันใหม่และลบรายการที่ซ้ำกันเมื่อตรวจพบแล้วหรือไม่?

แก้ไข 2: ส่วนที่ยากคือการหาว่าจะทำอย่างไรเมื่อฉันมีผลลัพธ์ประกอบด้วยไฟล์ซ้ำหลายพันไฟล์ (เช่นผลลัพธ์ของ fdupes)

มันไม่ชัดเจนถ้าฉันยังสามารถลบไดเรกทอรีได้อย่างปลอดภัย (เช่นถ้าไดเรกทอรีอาจมีไฟล์ที่ไม่ซ้ำกัน) ซึ่งไดเรกทอรีเป็นส่วนย่อยของไดเรกทอรีอื่น ๆ และอื่น ๆ เครื่องมือที่เหมาะสำหรับปัญหานี้ควรจะสามารถกำหนดความซ้ำซ้อนของไฟล์จากนั้นให้วิธีที่มีประสิทธิภาพในการปรับโครงสร้างไฟล์และโฟลเดอร์ของคุณ การรวมโดย hardlinking (ตามที่ fslint ทำ) นั้นทำให้พื้นที่ว่างเพิ่มขึ้น แต่มันก็ไม่ได้แก้ปัญหาพื้นฐานที่ทำให้เกิดการซ้ำซ้อนที่เริ่มต้นด้วย - นั่นคือการจัดระเบียบไฟล์ / dir ที่ไม่ดี


ยังเห็นคำถามที่เกี่ยวข้องเหล่านี้บนAskUbuntu , unix.stackexchangeและsuperuser
BioGeek

คำตอบ:


7

ImageMagick เพื่อช่วยเหลือ ฉันคิดว่าขั้นตอนแรกในการแก้ปัญหาใด ๆ คือการลดขนาดของคอลเลกชันของคุณ หากคุณต้องการเปรียบเทียบภาพถ่ายตามเนื้อหาโดยเฉพาะอย่างยิ่งเมื่อบางรุ่นเป็นรุ่นอื่นเล็กน้อยการเริ่มต้นที่ดีมากก็คือลดรูปภาพเหล่านั้นเป็นภาพขนาดย่อจากนั้นเปรียบเทียบรูปขนาดย่อ สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อคุณต้องการค้นหาภาพถ่ายที่เหมือนกันและต้องการ "ละเว้น" ความแตกต่างที่ไม่สำคัญระหว่างการเปรียบเทียบ

ข้อเสนอแนะของฉันอยู่ในระดับสูงว่าคุณ:
1- ใช้เครื่องมือmogrifyของ ImageMagick เพื่อลดรูปถ่ายให้เป็นรูปขนาดย่อ อาจใช้เวลาสักครู่ แต่จะทำให้ขั้นตอนการเปรียบเทียบจริงเร็วขึ้นและแม่นยำยิ่งขึ้น
2- ใช้เครื่องมือเปรียบเทียบของ ImageMagick ที่ให้คุณตั้งค่าขีด จำกัดสำหรับการเปรียบเทียบนั่นคืออนุญาตให้คุณค้นหารูปภาพที่มี 85% เหมือนกัน คุณต้องการทำการทดสอบที่ควบคุมเพื่อหาค่าเกณฑ์ที่คุณชอบมากที่สุด


ฉันชอบแนวคิดนี้ในการทำภาพขนาดย่อก่อน มันจะทำอย่างไรเมื่อคุณพบสิ่งที่ซ้ำกัน? มันเพิ่งแสดงรายการหรือไม่? ฉันมีการซ้ำกันนับหมื่นครั้งและ GUI ที่ดีในการแก้ไขปัญหาเหล่านี้จะมีประโยชน์มาก
Fasterz

2
เมื่อคุณใช้ Ubuntu คุณจะสามารถเข้าถึงเครื่องมือพิเศษโดยอัตโนมัติแต่ละการแก้ไขงานที่เฉพาะเจาะจงมากเช่นงาน 2 อย่างที่ฉันพูดถึง มันเป็นเกมเลโก้คุณสามารถทำอะไรก็ได้ที่คุณต้องการคุณแค่รวบรวมชิ้นส่วนต่างๆ โดยทางเทคนิคแล้วคุณส่งภาพ 2 ภาพไปยังเครื่องมือ 'เปรียบเทียบ' และจะบอกให้คุณทราบว่าภาพหนึ่งมีลักษณะอย่างไร วิธีหนึ่งในการแก้ไขปัญหาของคุณคือจัดกลุ่มรูปภาพที่คล้ายกันทั้งหมดลงในโฟลเดอร์เพื่อให้คุณสามารถผ่านพวกเขาเพื่อกรองผลบวกปลอม จากนั้นคุณเรียกใช้ 'เปรียบเทียบ' อีกครั้งกับผลบวกเท็จและทำซ้ำกระบวนการจนกว่าทั้งหมดจะอยู่ในตำแหน่งที่ถูกต้อง
ดี้

4

โปรแกรมดูรูปภาพที่มาเปิด / จัดGeeqieมีที่มีประสิทธิภาพการค้นหาคุณสมบัติที่ซ้ำกัน สามารถใช้กลยุทธ์ที่แตกต่างกันในการค้นหารายการที่ซ้ำกัน:

  • ชื่อไฟล์ (ตัวพิมพ์เล็กหรือตัวพิมพ์เล็ก)
  • ขนาดไฟล์
  • วันที่ไฟล์
  • ขนาดภาพ
  • MD5 checksum
  • เนื้อหาภาพที่คล้ายกัน (กับหลายเกณฑ์)

นี่เป็นรายการผลลัพธ์ที่สามารถรวมภาพขนาดย่อเพื่อให้คุณสามารถยืนยันด้วยตนเอง

นี้จะอาจจะช้าสำหรับหลายพันไฟล์ แต่ฉันคิดว่าเพียงแค่ใช้มันและปล่อยให้มันทำงานได้ไม่กี่วันหรือสิ่งที่น่าจะเป็นความพยายามโดยรวมน้อยลงกว่าการหาหรือทำสิ่งที่เหมาะสำหรับกรณีที่ - ถ้าการแข่งขันการตรวจสอบเป็นสิ่งที่คุณต้องการ


ฟังดูดีนะ มันจะทำอย่างไรเมื่อคุณพบสิ่งที่ซ้ำกัน? มันเพิ่งแสดงรายการหรือไม่? ฉันมีการซ้ำกันนับหมื่นครั้งและ GUI ที่ดีในการแก้ไขปัญหาเหล่านี้จะมีประโยชน์มาก
Fasterz

มันแสดงพวกเขาในหน้าต่าง GUI
mattdm

3

มียูทิลิตี้เล็ก ๆ ที่เรียกว่า"fdupes"ที่อาจทำในสิ่งที่คุณต้องการ?

นอกจากนี้ยังมียูทิลิตีอื่นที่เรียกว่า"fslint"ซึ่งคุณอาจต้องการลองใช้ด้วย (อันนี้มี GUI)


ฉันลอง fslint กับรูปภาพชุดเล็ก ๆ (ไม่กี่กิ๊กหรือมากกว่านั้น) และมันน่าหงุดหงิดที่มันอยู่ที่นั่นและหมุน ไม่มีตัวบ่งชี้ความคืบหน้าเวลาโดยประมาณที่เหลืออยู่ไม่มีอะไร
Fasterz

1
เครื่องมือเหล่านี้ดูเหมือนจะมองหาไฟล์ที่เหมือนกัน แม้แต่ภาพ (พิกเซลต่อพิกเซล) ที่เหมือนกันก็อาจเป็นเนื้อหาไฟล์ที่แตกต่างกันได้ ฉันเดาว่าคุณต้องการจับคู่ไม่เพียง แต่ภาพที่มีลักษณะเหมือนกัน แต่ยังทำในรูปแบบและขนาดต่าง ๆ รวมถึงการครอบตัดและการประมวลผลอื่น ๆ ที่คุณทำเช่นเก็บรูปแบบทั้งหมดของรูปภาพเดียวกันในที่เดียว ไดเรกทอรี นี่เป็นการเปรียบเทียบภาพที่มีปัจจัยความมั่นใจและอาจจับคู่ภาพถ่ายที่แตกต่างกันของฉากเดียวกัน
Skaperen

@Skaperen สิ่งที่คุณแนะนำนั้นยอดเยี่ยม แต่มีเครื่องมือดังกล่าวสำหรับ Ubuntu หรือไม่? ฉันเคยเห็นคนหนึ่งพูดถึงบางที่สำหรับ Windows - แต่ดูเหมือนว่าจะมีอินเตอร์เฟซที่น่ากลัว .. และอื่น ๆ
Fasterz

ImageDupeless เป็นแอพ windows ที่จะจับภาพที่เหมือนกัน แต่มีความแตกต่าง มันจะตรวจจับการหมุน, ครอบตัด, ปรับขนาด, เปลี่ยนสีอ่อน, ลายน้ำ ฯลฯ ... คุณต้องสแกนห้องสมุดของคุณและบอกว่าคุณยอมรับความแตกต่างมากแค่ไหนและมันจะแสดงไฟล์ให้คุณอย่างสนุกสนาน แต่มันจะยุ่งยากเป็นพิเศษสำหรับไฟล์หลายร้อยไฟล์และหลายพันไฟล์จะแย่มาก ฉันก็กำลังมองหาลินุกซ์เทียบเท่ากับ ImageDupeless แอพที่ทำเวฟเล็ตหรือเวทย์มนตร์เกี่ยวกับการถ่ายภาพอื่น ๆ เพื่อบอกเวลาที่ภาพใกล้เคียงกัน
Therealstubot

อ่านตัวเลือก man page สำหรับfdupes- มีตัวเลือกในการลบแบบจำลอง askubuntu.com/a/476732
rrauenza

1

dupeGuru Picture Editionเป็นโปรแกรมค้นหารูปภาพที่ซ้ำกันที่ปรับแต่งได้สำหรับ Windows, Mac OS X และ Linux

มีกี่รุ่นของ dupeGuru (รุ่นมาตรฐาน, เพลง & รูปภาพ) และรุ่นรูปภาพช่วยให้คุณค้นหาภาพที่คล้ายกันทางสายตาผ่านอัลกอริทึมการเปรียบเทียบการบล็อกบิตแมปในวิธีอื่น ๆ (เช่นการประทับเวลาของภาพต้นฉบับ EXIF ​​หรือไฟล์ที่เหมือนกัน) .

มันมีคุณสมบัติที่มีประโยชน์อื่น ๆ อีกมากมายเช่นโฟลเดอร์ที่ถูกแยกการสนับสนุนไลบรารี iPhoto / Aperture และการปรับแต่งอย่างมากเกี่ยวกับวิธีการตรวจจับรายการซ้ำและสิ่งที่ทำกับพวกเขา


0

รูปภาพที่ซ้ำกันหมายความว่าอย่างไร คุณหมายถึงไฟล์ที่เหมือนกันหรือว่าพูดแค่คัดลอกเวลาต่อไปหรือสองชั่วโมง? หรือคุณหมายถึงรูปภาพที่ "ดู" เหมือนกัน

หากคุณหมายถึงไฟล์ที่เหมือนกันคุณสามารถใช้ 'shasum' ในไฟล์ทั้งหมดจากนั้นเรียงลำดับผลลัพธ์และค้นหาบรรทัดที่ไม่ซ้ำด้วย 'uniq' และเรียกใช้ 'diff' เพื่อดูสิ่งที่ถูกตัดออกไป ง่ายทุกอย่างในเชลล์ของ Ubuntu


สิ่งนี้ไม่ง่ายหรือสะดวก fdupes ที่กล่าวถึงด้านล่างจะทำงานได้ดีกว่าการคำนวณ SHA ตอนนี้มีเครื่องมือยูนิกซ์ที่จะมองหาความคล้ายคลึงกันของรูปภาพหรือไม่ ถ้าเป็นเช่นนั้นจะน่ากลัว
Fasterz

ง่ายและสะดวกสบายสำหรับผู้ที่เคยใช้เครื่องมือ unix ซึ่งเป็นสิ่งที่ uniq, sort, diff, shasum และอื่น ๆ แต่ฉันยอมรับว่าถ้าคุณไม่ใช้มันเป็นประจำพวกเขาอาจใช้งานยาก ผมไม่ทราบว่าอะไรที่สามารถทำ "ดูเหมือน" ทุกอย่างที่ผมเคยเห็นรวมทั้งในรูรับแสงและ Lightroom ทำไฟล์เป็นเหมือนกันซึ่งจริงๆเพียง md5 หรือ shasum
แพทแฟร์เรลล์

ฉันใช้เครื่องมือยูนิกซ์เป็นประจำและฉันพบว่าคำตอบนี้ค่อนข้างโง่ ขั้นแรกให้ทำ SHA สุ่มสี่สุ่มห้าช้าเมื่อขนาดไฟล์ comparizon แก้ไขสิ่งต่าง ๆ ประการที่สอง SHA หรือ MD5 สามารถชนกันได้ดังนั้นการเปรียบเทียบ SHA เพียงอย่างเดียวก็เพียงพอแล้ว หากคุณคำนึงถึงปัจจัยทั้งสองอย่างนี้คุณจะได้สิ่งที่ fdupes ทำ
Fasterz

นอกจากนี้เมื่อคุณได้เสกคาถาที่ทำสิ่งนี้ได้อย่างถูกต้องแล้วเอาต์พุตก็ยังไม่ค่อยมีประโยชน์ ที่ดีที่สุดคุณจะได้รับผลลัพธ์ของ fdupes ซึ่งเป็นเพียงการดัมพ์ของไฟล์ที่คล้ายกัน ในกรณีของฉันฉันมี 10 หมื่นคนและมันยากมากที่จะเลือกผ่านข้อมูลนั้นเพื่อดูว่าฉันสามารถกำจัดสิ่งที่ซ้ำกันได้อย่างไร
Fasterz

1
SHAs ปะทะกันในทางทฤษฎี แต่ไม่ใช่ในทางปฏิบัติ ใช่มันใช้เวลาตลอดไป ไม่มีสิ่งใดที่จะไปทำงานได้อย่างรวดเร็ว แต่คุณควรจะเตะมันออกและกลับมาในวันหรือสองวัน มันเป็นเพียงข้อเสนอแนะฉันจะไม่เข้าไปทำสงครามกับมัน
Pat Farrell

0

มี aplication เรียกว่า "bleachbit" ซึ่งค้นหาไฟล์ที่ซ้ำกันตามขนาดชื่อและตัวกรองอื่น ๆ คุณสามารถติดตั้งได้จากตัวจัดการแพคเกจ synapctic ใน Ubuntu


มันจะทำอย่างไรเมื่อคุณพบสิ่งที่ซ้ำกัน? มันเพิ่งแสดงรายการหรือไม่? ฉันมีการซ้ำกันนับหมื่นครั้งและ GUI ที่ดีในการแก้ไขปัญหาเหล่านี้จะมีประโยชน์มาก
Fasterz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.