Я работаю над своим проектом относительно обработки изображений с дистанционным управлением и циклами последовательности изображений. Каждое результирующее изображение (в формате 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 (длинный x0, длинный y0, короткая ширина, короткая высота, char * RectData);
Встроенный декомпрессор JPEG не обладает такой функциональностью. Я знаю, что формат JPEG2000 содержит положения для декомпрессии определенной области изображения. Я не совсем уверен в JEPG.
Кто-то предположил, что я использую CreateFileMapping, MapViewOfFile и CreateDIBSection для фиксации количества байтов сопоставления файлов для сопоставления с представлением. В отличие от простых плоских бинарных форматов изображений, таких как .raw, *.img и *.bmp, JPEG Blob будет содержать не только данные изображения, но и сложный заголовок JPG. Поэтому нелегко отобразить блок данных из файла JPEG.
Кто-то порекомендует, что я использую технологию обработки изображений или пирамиды изображений для создания суб-изображений, таких как mnay popular, визуализация изображений (Google Earth и т.д.), а также приложения GIS (WebGIS и т.д.).
Как я могу решить эту проблему?
Спасибо за вашу помощь.
Золотой Ли