import cv2
import numpy as np
def is_frames_corrupted(frame1, frame2, threshold=0.99):
difference = cv2.absdiff(frame1, frame2)
mean_difference = np.mean(difference)
similarity = 1 - (mean_difference / 255.0)
return similarity >= threshold
def find_glitch_in_video(video_path, threshold=0.99):
cap = cv2.VideoCapture(video_path)
if not cap.isOpened():
print("Error opening video file")
return
ret, prev_frame = cap.read()
prev_frame = cv2.cvtColor(prev_frame, cv2.COLOR_BGR2GRAY)
while cap.isOpened():
ret, curr_frame = cap.read()
if not ret:
break
curr_frame_gray = cv2.cvtColor(curr_frame, cv2.COLOR_BGR2GRAY)
if is_frames_corrupted(prev_frame, curr_frame_gray, threshold):
print("Glitch found in the video")
cap.release()
return True
prev_frame = curr_frame_gray
print("No glitch found in the video")
cap.release()
return False
if __name__ == "__main__":
video_path = "path/to/your/video.mp4"
find_glitch_in_video(video_path)
08-17
3258
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-15
3041
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-07
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交