Преобразование необработанного изображения с использованием библиотеки с открытым исходным кодом с разрешающей лицензией - PullRequest
1 голос
/ 30 августа 2011

Мне нужно преобразовать необработанное изображение в формате rgb32 в PNG с библиотекой (написанной в порядке предпочтений Java, C, C ++), имеющей разрешительную (например, BSD или Apache) лицензию.

Я могу конвертировать изображение с помощью FFmpeg с помощью этого вызова:

ffmpeg.exe -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 20x40 -i infile -f image2 -vcodec png out.png

, где 20x40 - ширина по высоте.

Но, к сожалению, мне нужно избегать FFmpeg из-за его лицензии.

Я видел, как люди размышляли о том, что libpng может сделать эту работу, но я скептически отношусь к документации, которую видел на сайте libpng. Возможно, вы приведете пример.

Я не знаю, что значения rawvideo и rgb32 означают для FFmpeg, поэтому я задал этот вопрос .

EDIT 1: отредактировал вызов ffmpeg, чтобы показать ширину x высоту.

1 Ответ

1 голос
/ 30 августа 2011

Вы уверены, что не можете связать ffmpeg с проприетарным приложением?Согласно http://ffmpeg.org/legal.html, большая часть ffmpeg доступна в рамках GNU LGPL, которая позволяет связываться с проприетарными программами, если вы следуете «контрольному списку соответствия лицензии» и не используете функции только GPL.

Если вы не хотите динамически связывать, посмотрите на ImageMagick , выпущенный под разрешающей лицензией Apache.ImageMagick поддерживает чтение из необработанных RGB-изображений (см. список форматов .) Он написан на C, а имеет привязки Java .

...