Advertisement
Guest User

Untitled

a guest
Feb 3rd, 2023
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. import cv2
  2. import numpy as np
  3.  
  4. def extract_features(video_path):
  5. """Extract features from the video using OpenCV"""
  6. cap = cv2.VideoCapture(video_path)
  7. features = []
  8. while True:
  9. ret, frame = cap.read()
  10. if not ret:
  11. break
  12. gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
  13. features.append(cv2.calcHist([gray], [0], None, [256], [0, 256]))
  14. cap.release()
  15. return np.array(features).flatten()
  16.  
  17. def compare_videos(video1_path, video2_path):
  18. """Compare the features of two videos and return a similarity score"""
  19. features1 = extract_features(video1_path)
  20. features2 = extract_features(video2_path)
  21. return cv2.compareHist(features1, features2, cv2.HISTCMP_CORREL)
  22.  
  23. def search_duplicates(path):
  24. """Search for duplicate videos in the given path"""
  25. duplicates = []
  26. processed_videos = []
  27. for root, dirs, files in os.walk(path):
  28. for filename in files:
  29. file_path = os.path.join(root, filename)
  30. for processed_video in processed_videos:
  31. score = compare_videos(file_path, processed_video)
  32. if score > 0.95:
  33. # Found a duplicate video
  34. duplicates.append((file_path, processed_video))
  35. processed_videos.append(file_path)
  36. return duplicates
  37.  
  38. # Example usage
  39. duplicates = search_duplicates("/path/to/local/storage")
  40. for duplicate in duplicates:
  41. print("Duplicate found: {} and {}".format(*duplicate))
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement