сжатие изображения конвейера - PullRequest
1 голос
/ 22 апреля 2011

У меня работает пользовательский веб-сервер, который я использую для сканирования документов.Чтобы активировать сканер и загрузить изображение на экран, у меня есть кнопка сканирования, которая ссылается на страницу со следующим тегом изображения:

<img src="http://myserver/archive/location/name.jpg?scan" />

Когда сервер получает запрос файла? Scan, он передает потоквывод следующей команды и записывает ее на диск в требуемом месте.

scanimage --resolution 150 --mode Color | convert - jpg:-

Это хорошо работает, и я доволен этой простой настройкой.Проблема в том, что convert (ImageMagick) буферизует вывод scanimage и выплевывает изображение jpeg только после завершения сканирования.Результатом этого является то, что веб-страница загружается в течение длительного времени с риском тайм-аута.Это также не дает мне видеть изображение во время сканирования, что в противном случае должно быть возможным, потому что именно так базовые jpeg-изображения отображаются в коде при медленном соединении.без буферизации изображения, или операция по сути глобальная?Если это возможно, какие инструменты я могу использовать?Одна мысль у меня была по отдельности кодирование полос из восьми строк, но я не знаю, как собрать эти куски вместе.Если это невозможно, существует ли другой формат сжатия, который допускает такого рода конвейерное кодирование?Мое единственное ограничение заключается в том, что формат должен поддерживаться основными браузерами.

Спасибо!

1 Ответ

1 голос
/ 22 апреля 2011

Вы хотите разделить изображение с кривой заполнения пространства.Sfc рекурсивно подразделяет поверхность на меньшие плитки и из-за ее фрактальной размерности уменьшает 2d сложность до 1d сложности.Когда вы разделили изображение, вы можете использовать эту кривую для непрерывного сканирования изображения.Или вы можете использовать BFS и какой-либо фильтр с низкой частотой изображения, чтобы непрерывно сканировать более высокое разрешение вашего изображения.Вы хотите найти блог Ника по пространственному индексу с гильбертовой кривой, но я не думаю, что вы можете собрать плитки вместе в формате jpg (кот?).Или вы можете постоянно уменьшать разрешение?

scanimage --resolution [1-150] --mode Color | convert - jpg:-
...