Преобразование из YUV (UYVY) в RGB с помощью imagemagick - PullRequest
0 голосов
/ 11 июня 2018

У меня есть изображения YUV.В windows7 yuvplayer может открыть их в формате UYVY.

И я хочу преобразовать одно из этих изображений в RGB в среде Linux.

Я думаю, что могу сделать преобразование, используя imagemagick.Но ниже встречаются ошибки.

1) без -depth 8

$ convert -verbose -size 736x480 yuv:frame-99.yuv frame-99.bmp
yuv:frame-99.yuv=>frame-99.yuv YUV 736x480 736x480+0+0 16-bit DirectClass 707KB 0.040u 0:00.050
yuv:frame-99.yuv=>frame-99.bmp YUV 736x480 736x480+0+0 16-bit DirectClass 1.057MB 0.360u 0:00.129
convert.im6: unexpected end-of-file `frame-99.yuv': No such file or directory @ error/yuv.c/ReadYUVImage/440.

2) с -depth 8

$ convert -verbose -size 736x480 -depth 8 yuv:frame-99.yuv frame-99.bmp
yuv:frame-99.yuv=>frame-99.yuv[0] YUV 736x480 736x480+0+0 8-bit DirectClass 707KB 0.060u 0:00.070
yuv:frame-99.yuv=>frame-99.yuv[1] YUV 736x480 736x480+0+0 8-bit DirectClass 707KB 0.020u 0:00.039
yuv:frame-99.yuv=>frame-99-0.bmp[0] YUV 736x480 736x480+0+0 8-bit DirectClass 1.057MB 0.670u 0:00.240
yuv:frame-99.yuv=>frame-99-1.bmp[1] YUV 736x480 736x480+0+0 8-bit DirectClass 1.057MB 0.870u 0:00.280
convert.im6: unexpected end-of-file `frame-99.yuv': No such file or directory @ error/yuv.c/ReadYUVImage/440.

Размер этого файла составляет 706560 байт.

Как конвертировать изображение?

Ответы [ 2 ]

0 голосов
/ 14 июня 2018

Я попытался использовать приведенную ниже команду, как сказал Марк Сетчелл в комментарии.

convert -verbose -size 736x480 UYVY:frame-99.yuv frame-99.bmp

И я нашел, что это хорошо работает.

0 голосов
/ 11 июня 2018

Я считаю, что указанный вами размер слишком велик.Imagemagick пытается заполнить пространство предоставленными вами данными, но сталкивается с EOF до того, как это будет сделано.
Убедитесь, что параметр -size отражает размеры изображения, которое вы хотите преобразовать.

например:

convert rose: UYVY:rose.uyv
convert -size 70x46 -depth 8 UYVY:rose.uyv -colorspace sRGB rose2.png
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...