Compare frames in video opencv python
I’ve been trying to compare videos in frames taken from videos using opencv videocapture()
python!
Taking the first frame from the video, we call it
frame1, and when I save the video and get the same first frame again, we call it frame2
Comparing frames 1 and 2 returns false. When my expectations are true.
I also save the frame
as a PNG (lossless format) image and save the video and the same first frame. But they don’t match? How to get the same frame every time when processing video openCV! python
Solution
I’m guessing you save the frame as a PNG
file with the date and time the file was encoded, so the file will look different
if you use diff or cmp
in the shell.
The solution is either to use a format that does not encode dates and times, such as PPM, or to use a tool such as ImageMagick, which lets you generate hashes for comparison, but specifically for pixel data and not metadata:
identify -format %# someImage.png
e74164f4bab2dd8f7f612f8d2d77df17106bac77b9566aa888d31499e9cf8564
More discussion here