#encode #codec #yuv
#кодируйте #кодек #yuv
Вопрос:
Существует ли инструмент, который может преобразовать данное изображение (jpg) в формат YUV и сохранить его как необработанные данные?
Я попробовал Python PIL, но не смог найти, как это сделать.
Спасибо за любую идею.
Ответ №1:
Вы можете сделать это с помощью ImageMagick, который установлен в большинстве дистрибутивов Linux и доступен для macOS и Windows. Просто в терминале вы можете запустить:
convert input.jpg -depth 8 -colorspace Rec601YCbCr yuv:result.bin
или, для Rec709YCbCr
, вы можете использовать:
convert input.jpg -depth 8 -colorspace Rec709YCbCr yuv:result.bin
Вот небольшой пример процесса и его изменения:
# Create a gradient image, magenta-green, save as JPEG
convert -size 1024x768 gradient:magenta-lime input.jpg
# Convert to YUV, saving as raw YUV in "image.bin"
convert input.jpg -depth 8 -colorspace Rec601YCbCr yuv:image.bin
# Convert back from raw YUV back to JPEG to check
convert -size 1024x768 -depth 8 YUV:image.bin -set colorspace Rec601YCbCr -colorspace RGB result.jpg
Комментарии:
1. С удовольствием! Удачи с вашим проектом.
Ответ №2:
конвертируйте из jpg в yuv с помощью ffmpeg
ffmpeg -i filename.jpg -pixel_format yuv420p -s 656x500 filename.yuv
-pixel_format
может быть yuv420p
или yuv422p
или yuv444p
-s
является ли разрешение jpg
для просмотра
ffplay -f rawvideo -pixel_format yuv420p -video_size 656x500 -i filename.yuv
если размер видео не точный, вы увидите мусор.