Преобразование изображения в BMP RGB565 без заголовка BMP - PullRequest
1 голос
/ 03 апреля 2019

Я использую Raspberry Pi 3B + и Imagemagick 6.9.7-4 Q16 arm 20170114, чтобы преобразовать файл в RGB565 и отобразить его на экране 480x320 (размеры пикселя изображения также составляют 480x320), записав его в буфер кадров.Я использую следующую команду конвертации:

convert dmi.jpg + flip -strip -define bmp: subtype = RGB565 bmp2: out.bmp

Ожидаемый размер файла307 200 байт.Фактический размер файла немного выше из-за данных заголовка.В настоящее время я использую dd для удаления числа X байтов из начала файла, чтобы сделать файл 307 200.

Например, если размер файла 307 338, я выполняю следующую команду:

dd bs = 138 skip = 1 if = out.bmp of = out.trimmed.bmp

Как только файл обрезан и имеет размер файла 307 200, я могу записать файл в буфер кадров

cat out.trimmed.bmp> / dev / fb1

Кто-нибудь знает, как обновить команду преобразования, чтобы просто пропустить данные заголовка?Я хотел бы вырезать средние шаги и просто использовать Imagemagick для записи непосредственно в кадровый буфер.

convert dmi.jpg + flip -strip -define bmp: subtype = RGB565 bmp2: / dev / fb1

Я попытался выполнить следующие команды, но все они создают файл, размер которого намного превышает мой требуемый размер файла 307 200.

convert dmi.jpg + flip -strip-define bmp: subtype = RGB565 rgb: 0-rgb.bmp

convert dmi.jpg + flip -strip -define -mpmp -dempine bmp: subtype = RGB565 rgba: 0-rgba.bmp

преобразовать dmi.jpg + flip -strip -define bmp: subtype = RGB565 dib: 0-dib.bmp

Я протестировал fbi (fim) (framebuffer imageviewer), чтобы сделать это, и программа не идеальна длямои потребности.Я также проверил ffmpeg, чтобы выполнить преобразование, но это ресурс большой и медленный.

Спасибо!

1 Ответ

1 голос
/ 03 апреля 2019

Например:

convert dmi.jpg +flip -strip -define bmp:subtype=RGB565 bmp2:- | dd bs=138 skip=1 > /dev/fb1

Объяснение :

bmp2:- заставит ImageMagick записать BMP2 на stdout.По умолчанию dd будет читать stdin и записывать stdout, который затем перенаправляется в кадровый буфер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...