Просмотр Изображений Формата L15 Спутника «Электро-Л»

Здравствуйте, уважаемые Хабарюзеры.

Как известно, фотографии со спутника «Электро-Л» размещены на FTP в двух форматах.

Один из них — известный jpg, который нас не интересует. Второй, как я написал Зеленикот

«секретный» формат доступен только метеорологам.

В Интернете нет программного обеспечения, позволяющего открыть и просмотреть его.

Правда, меня уверили, что с точки зрения картинки она такая же, как и в JPEG, а дополнительная информация только в текстовом виде - высоты всякие, температуры, скорости.

Так что попробуем прочитать.

Дополнительную информацию мне прочитать не удалось, но картинка вполне читаемая и несколько отличается от JPG по количеству бит на один канал.

Если в JPG их 8 (256 оттенков серого), то в L15 их 10 (1024 оттенка серого).

Если изображение в файле не зашифровано, то размеры изображения в нем должны присутствовать.

Будем надеяться, что оно не зашифровано.

Размеры спутниковых фотографий — в формате jpg 2784x2784. Преобразовав 2784 в HEX, мы получим 0A E0. Ээту последовательность необходимо изменить на обратную и найти E0 0A Найденный

   

e0 0a 00 00 e0 0a 00 00 10 00

Сгруппировав эти данные в 4 байта и отобразив их в виде десятичного числа, мы получаем

2784 2784 16

От конца вставленного чуть выше блока до конца файла 0xEC8800 (15501312) байт. 15501312/(2784*2784)=2. Исходя из этих результатов, предположим, что один пиксель описывается двумя байтами.

Но прежде чем попытаться прочитать изображение, нужно понять, как искать место, где оно начинается.

Два дня поиска в файлах L15 либо прямого адреса области с изображением, либо близкого к нему участка, либо смещения на этот адрес не привели к успеху.

Поэтому будем искать этот раздел в лоб, читая файл по крупицам, пока не встретим число 2784 или 11136 (это разрешение изображений с каналов RGB).

Затем мы проверяем, повторяется ли это число еще раз, и если оно повторяется, проверяем, равно ли следующее число 16. Если все верно, поздравляем, мы нашли начало картинки.



long Find_Image_Pos(FILE *EL_Data,int *res_out) {

Теги: #Космонавтика #Фотография #c++ #электро-л #L15

Вместе с данным постом часто просматривают: