Отказ от ответственности: у меня нет опыта в компьютерном зрении или обработке изображений, но мне нужно обработать видео для получения данных для машинного обучения.Moviepy: Как читать фильмы с серой рамкой?
Я хочу прочитать фильм с оттенками серого (я сделал это с использованием изображений в оттенках серого) - кадр за кадром с использованием видео. Для дальнейшей обработки мне нужны рамки с серой шкалой. Вот мой код:
clip = VideoFileClip('movie.mp4')
count =1
for frames in clip.iter_frames():
print frames.shape
count+=1
print count
Фрейм формы вышли быть (360L, 480L, 3L) в то время как я ожидал (360L, 480L). И это меня озадачивает. Есть ли способ получить «ожидаемую» форму? Идеи OpenCV на Python тоже могут работать, но я бы предпочел использовать кинематографию.
Это просто возвращается вам массив пикселей? то есть у вас 360 высот, 480 ширины и 3 канала (возможно, RGB) – EdChum
@EdChum: Да, он возвращает RGB-кадры. Но мне нужны рамки с серой шкалой – GKS
Я не знаю о фильме, но вы можете преобразовать RGB в HSL и взять только компонент «L» (яркость) с чем-то вроде https://docs.python.org/2/library/ colorsys.html. Если ваш кадр находится в массиве numpy, вы также можете использовать: http://stackoverflow.com/questions/15278323/converting-image-from-rgb-to-hsv-color-space. Наконец, если изображения уже оттенки серого, возможно, одно и то же значение находится в 3-х каналах. В этом случае вы можете просто взять первый канал и проигнорировать остальные (проверьте, какие значения фактически содержат данные). – jjmontes