Previous Entry Share Next Entry
Вопрос сканирующим про монитор
ook
nabbla1
Пытаюсь тут "поднять из пепла" свой ScanCombine, который пал жертвой жесткого рефакторинга, уже маячит на горизонте вопрос о юзер-интерфейсе.

И тут многое зависит от того, какой используется монитор. У меня долго стоял монитор IIyama 4:3 с разрешением 1280х1024, не так давно у него блок питания сгорел, мелочь в принципе (пара электролитов вздулись, силовой высоковольтный MOSFET выгорел, да предохранитель поплавился, как всегда вовремя), починю, как только ремонт закончится, сейчас он куда-то закопан глубоко, хрен достанешь.

Сейчас пользуюсь широкоэкранным с разрешением 1920х1080. Поскольку книжки обычно имеют книжную (внезапно) ориентацию, то возникает жгучее желание разместить все элементы управления слева и справа, а текущую страницу растянуть по вертикали настолько, насколько это возможно - никаких панелей вверху, никаких статусбаров внизу!


Но существуют и другие конфигурации. Знаю, что некоторые широкоэкранные мониторы можно ставить "на попа", в таком случае уже захочется уместить страницу по ширине, а элементы управления сунуть сверху и снизу.

Есть народ, кто тащится с 2-3 мониторов, типа, здесь у меня документ, здесь руководство, а здесь браузер открыт. Не знаю, даёт ли это какое-либо преимущество при сканировании/обработке сканов, а может, давало бы при подходящем ПО?

И наконец, интересует вопрос цветового охвата. Из всего "колориметрического" у меня только цветовая мишень, а монитор что старый, что нынешний имеет обычный цветовой охват, да и откалиброван "на глаз". Я начинал уже мучать тему "вывод на экран изображения с учетом цветового профиля как изображения, так и монитора" (в BitmapHeaderV5 можно задать цветовой профиль, либо сказать, чтобы юзал sRGB и не выпендривался), но ещё не домучал до конца.

Я уж не стал создавать опросы (слишком много их нужно сделать), предлагаю просто отметиться в комментах, какова у вас конфигурация:

- сколько у вас мониторов?
- какого они разрешения и как повернуты?
- какой у них цветовой охват, обычный или расширенный, и привязан ли к ним цветовой профиль монитора?

  • 1
Давно хотел спросить, как Ваша программа соотносится со сканкромсатором?
Вы разрабатываете какой-то более функциональный вариант?


Ну как сказать: я обрабатываю сканы существующими программами, в какой-то момент задалбываюсь, восклицаю: "да я напишу свою собственную программу, с цветовыми профилями и древовидным Undo!", пишу её некоторое время, задалбываюсь, GOTO 10.

У сканкромсатора и скантейлора подход такой: определить, что нужно сделать с изображением, после чего запустить рендер, с сохранением оригинала. Мне хочется опробовать в корне другой подход: "Систему контроля версий" для изображений. Все операции выполняются на ходу, но любую из них можно отменить. Каждая операция над изображением "знает", какую минимальную информацию нужно сохранить, чтобы можно было "откатиться".

Повернули на 90 градусов - халява, при отмене повернём в другую сторону.
Повернули на малый угол ("коррекция наклона") - повернём на тот же малый угол назад, но к исходной не придем. Поэтому мы сохраним ещё разностную картинку, и она будет занимать гораздо меньше места, чем исходная.
Обрезать края - элементарно, мы просто запоминаем "обрезки".
"Ластик" - замечательнее всего - находим минимальную область, где хоть что-то изменилось, и запоминаем, что там было раньше.
Бинаризация - запоминаем средний цвет пикселей, которые превратились в черный, и средний цвет тех, что превратились в белый, "предиктор" из ч/б сделает двухцветное с этими цветами, а запомним мы разностное.

Такой подход потенциально позволяет добиться огромной скорости работы. Другим нужно каждый раз начинать "от печки", от исходного изображения, а тут - с того места, где закончили. Ещё только сканирование идёт - а компьютер на ходу, в фоне уже выполняет автоматическую обработку вплоть до финального вида, скорее всего, где-то он ошибется и мы потом за ним исправим (отменим его действия и сделаем сами), но львиную долю работы он сделает.

Ну и ещё кое-какие задумки есть. С цветовыми профилями я научился работать - строить профиль сканера, внедрять его во все сканы, производить все дальнейшие операции с учетом профиля (наклон делаем в линейном пространстве, можем преобразовать в sRGB).

Хочу сделать отдельный этап - "убрать вертикальные полосы" - все мои сканеры этим грешат. Пока текст - вроде не видно, но когда фотография с шикарными видами космоса, космос полосатый выходит - непорядок!

Есть идея более умного преобразования в Grayscale, когда мы именно цвет бумаги воспринимаем за белый и подбираем веса R, G, B компонентов соответственно.

Долго носился и с программой пакетного сканирования через TWAIN, которая могла бы сохранять в png в фоновом режиме, поскольку процесс довольно долгий (там сжатие Deflate, плюс фильтры-предикторы, на максимальных настройках это дофига). Хлебнул горя - сканеры нифига с TWAIN'ом до конца не совместимы, каждый пакостит по-своему, но может и сгодится временами.

  • 1
?

Log in

No account? Create an account