Форум программистов, компьютерный форум CyberForum.ru

Резка jpg - C++

Восстановить пароль Регистрация
 
briskly
24 / 0 / 1
Регистрация: 10.02.2012
Сообщений: 6
15.02.2012, 19:57     Резка jpg #1
Есть задача написать программу которая будет обрезать jpeg файлы. Но проблема в том что, среди исходых файлов возможны сверх большие, от сотни Мегабайт до пары Гигабайтов(например карты), встает вопрос, есть ли какая нибудь возможность, резать эти файлы не загружая целиком в память, то есть используя что то типо fseek, и декодируя jpeg кусочками. Возможно ли это вообще? Если да, то возможно есть какие либо готовые библиотеки для этого ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2012, 19:57     Резка jpg
Посмотрите здесь:

C++ Вывод JPG в окне на чёрном фоне
работа с .jpg и .mp3 C++
C++ Конвектор png в jpg
C++ Подключение к проекту jpg
Вывод изображения .jpg на экран консоли C++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13961 / 8792 / 1223
Регистрация: 24.12.2010
Сообщений: 15,924
15.02.2012, 23:44     Резка jpg #2
briskly, очень хороший вопрос, но ответа на него я, увы! не знаю. Мой пост - чтоб на тему подписаться.
silent_1991
15.02.2012, 23:52
  #3

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Мой пост - чтоб на тему подписаться.
Опции темы -> Подписаться на эту тему...

briskly
24 / 0 / 1
Регистрация: 10.02.2012
Сообщений: 6
16.02.2012, 11:17  [ТС]     Резка jpg #4
silent_1991, а можно перепост, в раздел с++ для экспертов
Yurii_74
paladin
 Аватар для Yurii_74
279 / 179 / 3
Регистрация: 25.02.2009
Сообщений: 592
16.02.2012, 11:20     Резка jpg #5
Если использовалось последовательное представление данных, то, наверное, можно как-то извернуться (sequential JPEG). Но это нужно разбираться с форматом и кодированием. Если прогрессивное - то вряд ли. Я думаю, стоит начать с этого.
briskly
24 / 0 / 1
Регистрация: 10.02.2012
Сообщений: 6
16.02.2012, 12:40  [ТС]     Резка jpg #6
Yurii_74, спасибо, но эту ссылку я уже читал, смотрел и более подробную статью о JPEG. кодирование последовательное. В одном месте мне посоветовали разбор JPEG на блоки 8*8, которые вроде не связаны между собой, однако разбить на них вручную не получилось, хотя просидел в hex редакторе немало времени. Может есть у кого нибудь опыт работы с этими блоками
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.02.2012, 13:56     Резка jpg #7
Для гигантских изображений, например, для астрономических снимков высокого разрешения, радоикарт Венеры и тому подобных является нормой подход, при котором вообще ни один файл в оперативу целиком не грузится, а всё делается на винчестере. Этот подход не ограничен какими то определёнными типами, а является общим. В оперативу jpeg грузится? Грузится. Оттуда отображается и обрабатывается? Отображается и обрабатывается. В чем проблема? Винчестер тоже память. В данном подходе оператива используется только в качестве кэша. В каждом конкретном случае надо знать формат файла, от этого ни куда не уйдёшь. А при загрузке его в оперативу формат знать разве не надо?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2012, 16:03     Резка jpg
Еще ссылки по теме:

Picture Control jpg из файла C++
C++ Стандартный jpg компрессор
Посоветуйте кроссплатформенную библиотеку по работе с jpg C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
briskly
24 / 0 / 1
Регистрация: 10.02.2012
Сообщений: 6
16.02.2012, 16:03  [ТС]     Резка jpg #8
Цитата Сообщение от taras atavin Посмотреть сообщение
Этот подход не ограничен какими то определёнными типами, а является общим. В оперативу jpeg грузится? Грузится. Оттуда отображается и обрабатывается? Отображается и обрабатывается. В чем проблема? Винчестер тоже память. В данном подходе оператива используется только в качестве кэша.
Проблема не с оперативой, а с вычислительной сложностью(сейчас и 4 Гб уже не много и для оперативы), дело в том что перед обрезкой, библиотеки декодируют весь файл, а на это уходит много времени, вопрос в том чтобы процессорного времени тратилось как можно меньше, а это уже сложней.

Добавлено через 10 минут
upd. Не могу добавить в Шапку:
Все это делается для технологии Deep Zoom, вопрос в том чтобы не хранить каждое изображения во всех слоях, а генерировать по запросу, но не сразу все, а только те кусочки которые нужны. Решение нужно под linux.
Yandex
Объявления
16.02.2012, 16:03     Резка jpg
Ответ Создать тему
Опции темы

Текущее время: 17:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru