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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
briskly
24 / 0 / 1
Регистрация: 10.02.2012
Сообщений: 6
#1

Резка jpg - C++

15.02.2012, 19:57. Просмотров 609. Ответов 7
Метки нет (Все метки)

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

JPG to Base64 - C++
http://www.cyberforum.ru/boost-cpp/thread1979534.html - тут описывал проблему, но применил не тот подход Ошибка в том что пытался считать...

Конвектор png в jpg - C++
Хочу написать прогу для конвертирования png формата изображения в jpg формат изображения. Можете объяснить как это реализуется, дать ссылки...

Подключение к проекту jpg - C++
Всем доброго времени! Может кто знает как вставить, подключить файл jpg к проекту чтоб он открывался при запуске вместе? Если можно,...

Стандартный jpg компрессор - C++
Здравствуйте уважаемые форумчане! Пишу приложение (winform) для расчета и визуализации 3d объектов код в принципе создан навожу...

работа с .jpg и .mp3 - C++
скажите пожалуста какие стантартные(для visual C++ 2010 expres)библиотеки позваляют просматривать .jpg и проигрывать .mp3? з.ы. в гугл...

Библиотека для работы с JPG - C++
Подскажите библиотеку, которая может работать с JPG изображениями (кодировать и декодировать в BMP), но не через загрузку файлов, а через...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15636 / 9978 / 1499
Регистрация: 24.12.2010
Сообщений: 18,742
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
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
Ушёл с форума.
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++
Собственно, как отобразить в Picture Control JPG из файла, который лежить в папке с программой? Picture Control привязан к переменной. ...

Вывод изображения .jpg на экран консоли C++ - C++
Вывод изображения .jpg на экран консоли C++ Помогите пожалуйста. Мне даже в голову ничего не приходит

Вывод JPG в окне на чёрном фоне - C++
Привет всем. Подскажите, как открыть окно с чёрным фоном, вывести на него jpg. Может у кого есть пример кода по элементарной работе с...

Посоветуйте кроссплатформенную библиотеку по работе с jpg - C++
Здравствуйте, посоветуйте пожалуйста кроссплатформенную библиотеку по работе с jpg. Нужно чтоб библиотека создавала из hex кода (пример:...


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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru