Я обрабатываю видеокадры (mp4) с помощью пакета Python cv2. Для обработки изображений я использую метод fl_image
moviepy.editor.VideoFileClip. Однако когда я сохраняю извлеченный кадр в формате jpg, а затем снова открываю его, используя matplotlib.image
, в загруженном изображении есть небольшое расхождение. Это можно увидеть, просто взяв среднее значение загруженного изображения в обоих методах.
Мне интересно, почему два загруженных изображения немного отличаются. Это вызвало некоторые проблемы при обработке видеоклипа, кадр за кадром.
sampleImage = mpimg.imread("sample-01.jpg")
print("sampleImage", np.mean(sampleImage))
# sampleImage is extracted from the video, say the last frame of the subClip1, and already saved using method imsave
# result
# sampleImage 115.64719075520833
# using the other method
def processFrameImage(image):
print("sampleImage", np.mean(image))
result = extractFeatures(image)
return result
clip1 = VideoFileClip("sample-video.mp4")
subClip1 = clip1.subclip(t_start=0.0, t_end=0.1)
whiteClip = subClip1.fl_image(processFrameImage)
# result
# sampleImage 115.64437065972223
Обратите внимание на разницу между печатными результатами, как указано выше