У меня есть приложение, которое может принимать изображения в виде байтовых данных в разных форматах. Под прикрытием приложение использует как пользовательский код, так и методы преобразования opencv для преобразования этих изображений в форматы, которые мы можем использовать.
Я пытаюсь написать несколько модульных тестов для добавления изображений в нашу библиотеку во многих различных форматах, чтобы убедиться, что приложение работает и что различные форматы не влияют на производительность приложения.
Для этого я решил создать инструмент, который сможет загружать JPEG, а затем использовать методы преобразования opencv для преобразования изображения из формата BGR, в который opencv загружает его, во все различные входные форматы, которые мы принимаем. К сожалению, кажется, что OpenCV предоставляют поддержку для преобразования в пространство RGB, но не так сильно поддерживают в другом направлении (скажем, от RGB до YUV_NV21).
Есть ли другие библиотеки или приложения, которые я мог бы использовать для этого?
Было бы хорошо, если бы я мог выполнять преобразования в рамках модульных тестов и просто выполнять итерации по всем различным форматам, но если бы мне нужно было заранее сгенерировать входные данные в виде двоичных файлов данных, это тоже было бы хорошо.
Заранее спасибо.
РЕДАКТИРОВАТЬ: Когда я говорю формат изображения, я не имею в виду сжатый формат изображения, как JPEG или PNG. Я имею в виду различные необработанные форматы изображений, такие как RGB, RGBX, YUV (во всех его различных формулировках) и т. Д.
Вы можете быть заинтересованы в IPP Intel. Это имеет много процедуры преобразования цветов. Это не бесплатно, хотя.
В способе, который помогает всем, рассмотрите возможность использования netpbm для того, что существует, и добавления процедур преобразования для того, что еще вам нужно. netpbm.sourceforge.net
Imagemagick — это одна из возможностей:
http://www.imagemagick.org/script/index.php
и он используется многими популярными приложениями.
Вы также можете поискать в определенных библиотеках те форматы, которые вам нужны.
Изменить: так как вы хотите сырые форматы, вот хороший проект, который делает то, что вы хотите.
Конвертировать RGB в YUV и наоборот не сложно. Вам просто нужно использовать формулы.
http://www.codeproject.com/Articles/402391/RGB-to-YUV-conversion-with-different-chroma-sampli
Попробуй ВТК. У них разные образы писателей