Точность расчетов с изображениями, отсканированными с помощью TWAIN - PullRequest
1 голос
/ 10 декабря 2010

Я использую библиотеки TWAIN для сканирования изображения в оттенках серого.Затем я программно корректирую каждый пиксель на отсканированном изображении, чтобы иметь разные конечные точки белого и черного цветов.Таким образом, пиксели со значением цвета меньше, чем черная точка, прикрепляются к черной точке.И пиксели со значением цвета, превышающим точку белого, фиксируются на точке белого.Кроме того, все промежуточные пиксели экстраполируются.

Моя проблема в том, что я теряю качество в вычислениях, потому что отсканированное изображение, на котором я выполняю вычисления, имеет только 8 бит на цветовой канал.

Мне либо нужен какой-то способ получения изображения с большим числом битов на цветовой канал, либо я должен сказать сканеру выполнить этот расчет для меня.

Я знаю, что панель управления Epson позволяет вамуказать черные и белые конечные точки и выполнить этот расчет, и похоже, что у него нет проблем с точностью.Поэтому мне интересно, если он делает что-то конкретное для оборудования Epson.К сожалению, моему программному обеспечению нужно использовать универсальные принтеры.

Кто-нибудь знает способ обойти эту проблему?

1 Ответ

1 голос
/ 28 мая 2011

Некоторые модели сканера TWAIN - в основном это планшеты - могут доставлять данные глубже, чем 8 бит / канал.

Ваш код должен установить механизм передачи (ICAP_XFERMECH) в память (TWSX_MEMORY), установить пиксельвведите (ICAP_PIXELTYPE) значение TWPT_GRAY, а затем посмотрите, можно ли установить ICAP_BITDEPTH на 16.

Если это удастся, вы можете затем выполнить передачу изображения в памяти (буферизованную AKA) и получить 16-битные данные / данные канала.Я ожидаю, что вы обнаружите, что данные находятся в 10-12 старших битах (т.е. диапазон выборки равен 0,65535), а младшие биты - это шум.

Вы не можете использовать собственный режим передачи (TWSX_NATIVE), поскольку собственные форматы изображений (DIB и PICT) не поддерживают 16-битные / канальные данные.Возможно, вы сможете использовать режим передачи файлов с форматом файла, который поддерживает 16-битные данные / канал, например, TIFF или JFIF: вам просто нужно поэкспериментировать со сканером.

Я только что сделал это сEpson Perfection V100 Photo У меня на столе есть, я уверен, что другие Epsons поддерживают это, возможно, все серии Perfection.См .: Архив отчетов Twister

И да, причина, по которой это хорошо работает при 8-битном сканировании, когда вы настраиваете контраст в пользовательском интерфейсе сканера, заключается в том, что сканер регулирует контраст, настраиваяусиление в усилителе - так работает в аналоговой области.(Фактически, бесконечные биты / канал; -)

Вы можете использовать эту схему: большинство планшетов позволяют вам устанавливать ICAP_SHADOW, ICAP_HIGHLIGHT и ICAP_CONTRAST - что имеет тот же эффект, что и установка уровня черного, уровня белого и контраста винтерфейс сканера.Тогда вы будете настраивать аналоговый сигнал, и вы получите плотные 8-битные гистограммы .

...