Я работал над своим проектом по обработке изображений с дистанционным зондированием и зацикливанию последовательности изображений.Каждое результирующее изображение (в формате JPEG или PNG) имеет приблизительно 8000 * 4000 пикселей.Наши пользователи обычно хотят зациклить последовательность изображений (более 50 изображений) на основе области интереса за один раз.Таким образом, я должен извлечь необходимую область просмотра из каждого изображения в соответствии с размером клиента визуализации пользователя.Например, если текущее клиентское представление пользователя составляет 640 * 480, мне нужно будет найти блок данных размером 640 * 480 из каждого исходного изображения на основе текущих координат x (столбцы) и y (строки) и переназначить их навид клиентаКогда пользователь перемещается в другую область просмотра с помощью перетаскивания мышью, наша программа должна соответственно заново загрузить региональные данные из каждого исходного изображения как можно скорее.
Я знаю, что ни в библиотеке JPEG, ни в библиотеке PNG нет встроенных данныхпроцедуры чтения блока, такие как long ReadRectangle (long x0, long y0, long x1, long y1, char * RectData);long ReadInaRectangle (long x0, long y0, короткая ширина, короткая высота, символ * RectData);
Во встроенном декомпрессоре JPEG отсутствует такая функциональность.Я знаю, что формат JPEG2000 имеет условия для распаковки определенной области изображения.Я не совсем уверен насчет JEPG.
Кто-то предлагает мне использовать CreateFileMapping, MapViewOfFile и CreateDIBSection, чтобы зафиксировать количество байтов сопоставления файла для сопоставления с представлением.В отличие от простых форматов плоских двоичных изображений, таких как * .raw, * .img и * .bmp, Blob в формате JPEG будет содержать не только данные изображения, но и сложный заголовок JPG.Поэтому непросто отобразить блок представления данных из файла JPEG.
Кто-то рекомендует мне использовать мозаику изображений или технологию пирамид изображений для генерации подизображений, как и во многих популярных визуализациях изображений (Google Earthи т. д.), а также приложения ГИС (WebGIS и т. д.).
Как решить эту проблему?
Спасибо за помощь.
Голден Ли