Я создаю приложение для стеганографии на Python 3, в частности, стеганографию в формате JPEG.По этой причине я должен реализовать некоторое базовое сжатие JPEG, чтобы получить доступ к квантованным коэффициентам DCT и встраивать биты в младшие биты.Я реализовал все это, но теперь у меня проблема с сохранением коэффициентов в виде изображения JPEG.
Все библиотеки, которые я обнаружил, будут выполнять полное сжатие JPEG при сохранении изображения с расширением .jpg.Но я не хочу этого, так как сам уже выполнил части сжатия с потерями.Я хочу, чтобы он выполнял только части без потерь и сохранял изображение, не выполняя преобразование DCT и квантование снова.
Кто-нибудь пытался сделать это раньше?Существуют ли какие-либо библиотеки, которые позволили бы вам по существу сохранить 2 или 3-мерный файл numpy.ndarray как изображение JPEG без повторного сжатия его с потерями?
Вот пример того, как преобразовывается, квантуется и внедряетсяКоэффициенты выглядят:
[[[-48. -1. -9.]
[ -3. 0. 1.]
[ 0. -0. -0.]
...
[ 0. -0. 0.]
[ -0. -0. 0.]
[ -0. -0. -0.]]
[[ 3. 0. -2.]
[ -0. -0. 0.]
[ 0. 0. 0.]
...
[ -0. 0. -0.]
[ 0. 0. -0.]
[ -0. -0. 0.]]
[[ -0. 0. 0.]
[ -0. 0. 0.]
[ 0. 0. 0.]
...
[ 0. 0. -0.]
[ -0. 0. 0.]
[ 0. 0. -0.]]]