1.3.5 Планетарные сканеры

Планетарные сканеры — применяются для сканирования книг или легко повреждающихся документов. При сканировании нет контакта со сканируемым объектом (как в планшетных сканерах).


1.3.6 Книжные сканеры

Книжные сканеры - предназначены для сканирования брошюрованных документов. Сканирование производится лицевой стороной вверх - таким образом, Ваши действия по сканированию неотличимы от перелистывания страниц при обычном чтении. Это предотвращает их повреждение и позволяет пользователю видеть документ в процессе сканирования. Забудьте о монотонной работе по книжному сканированию, теперь библиотеки, архивы, станции по сканированию смогут вздохнуть свободно - появились системы сканирования книг, которые затрачивают на сканирование одного разворота не более секунды. Это уменьшает время при сканировании книг и позволяет потратить его более эффективно. Благодаря современным книжным сканерам, вы можете переводить в электронный вид десятки книг и папок с документами за смену, а при подключении внешнего принтера - создавать качественные бумажные копии объемных оригиналов. Теперь, где стояло несколько книжных сканеров - можно поставить один без потери производительности. Использование в книжных сканерах моторизированной колыбели и ножной педали для управления позволяет облегчить работу оператора. Программное обеспечение, используемое в книжных сканерах позволяет устранять дефекты, сглаживать искажения, редактировать полученные отсканированные страницы. Книжные сканеры обладают уникальной функцией "устранения перегиба" книги, которая обеспечивает отличное качество отсканированного (или напечатанного) изображения.

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


1.4 Характеристики сканеров:

 

1.4.1 Разрешение.

Оптическое разрешение. Разрешение измеряется в точках на дюйм (англ. Dots per inch — dpi). Является основной характеристикой сканера. Сканер снимает изображение не целиком, а по строчкам. По вертикали планшетного сканера движется полоска светочувствительных элементов и снимает по точкам изображение строку за строкой. Чем больше светочувствительных элементов у сканера, тем больше точек он может снять с каждой горизонтальной полосы изображения. Это и называется оптическим разрешением. Оно определяется количеством светочувствительных элементов (фотодатчиков), приходящихся на дюйм горизонтали сканируемого изображения. Обычно его считают по количеству точек на дюйм — dpi (dots per inch). Сегодня считается нормой уровень разрешение не менее 600 dpi. Увеличивать разрешение еще дальше — значит, применять более дорогую оптику, более дорогие светочувствительные элементы, а также многократно затягивать время сканирования. Для обработки слайдов необходимо более высокое разрешение: не менее 1200 dpi.

Cледует отметить, что разрешение, о котором сказано выше называется оптическим, или физическим, или реальным. Оно описывает количество точек на дюйм, которые сканер в самом деле получает с объекта в процессе работы. Однако создаваемый сканером файл может оказаться и более высокого разрешения. Это разрешение, полученное при помощи математической обработки изображения называется уже интерполированным. Не все сканеры выполняют интерполяцию и, как правило, при сравнении сканеров сравнивают именно оптическое разрешение, так как именно от него более всего зависит качество изображения.

На сканерах указывается два значения например 600x1200 dpi, горизонтальное — определяется матрицей CCD, вертикальное — определяется количеством шагов двигателя на дюйм. Во внимание следует принимать минимальное значение

1.4.2 Интерполированное разрешение

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

  1.4.3 Скорость работы

В отличие от принтеров, скорость работы сканеров указывают редко, поскольку она зависит от множества факторов. Иногда указывают скорость сканирования одной линии в миллисекундах.

1.4.4 Глубина цвета

Определяется качеством матрицы CCD и разрядностью АЦП. Измеряется количеством оттенков, которые устройство способно распознать. 24 бита соответствует 16 777 216 оттенков. Современные сканеры выпускают с глубиной цвета 24, 30, 36, 48 бит. Несмотря на то, что графические адаптеры пока не могут работать с глубиной цвета больше 24 бит, такая избыточность позволяет сохранить больше оттенков при преобразованиях картинки в графических редакторах.


РАЗДЕРЛ 2. ВЫБОР СРЕДЫ ПРОГРАМИРОВАНИЯ

Качественным шагом в развитии методов структурного программирования стало изобретение объектно-ориентированного программирования (языков SmallTalk, C++, Turbo Pascal и др.). Программы стали строиться не из чудовищных по размеру процедур и функций, перерабатывающих громоздкие структуры данных, а из сравнительно простых кирпичиков-объектов, в которых были упрятаны данные и подпрограммы их обработки. Гибкость объектов позволила очень просто приспосабливать их для собственных целей, прилагая для этого минимум усилий. Программисты обзавелись готовыми библиотеками объектов, но, как и раньше, создание пользовательского интерфейса требовало уйму времени и сил, особенно когда программа должна была работать под управлением популярной операционной системы Windows и иметь графический пользовательский интерфейс.

2.1. Визуальное программирование

С изобретением визуального программирования, первой ласточкой которого была среда разработки Visual Basic, создание графического пользовательского интерфейса стало под силу даже новичку. В среде Visual Basic можно было быстро создать приложение для операционной системы Windows, в котором были все присущие графическому пользовательскому интерфейсу элементы: окна, меню, кнопки, поля ввода и т.д. Все эти элементы превратились в строительные блоки программы - компоненты - объекты, имеющие визуальное представление на стадии проектирования и во время работы. Проектирование пользовательского интерфейса упростилось на порядок, однако, для профессиональных программистов язык Basic оказался явно слабоват. Отсутствие в нем контроля типов данных и механизма их расширения оказалось камнем преткновения на пути создания серьезных программ. Создание нестандартных компонентов в среде Visual Basic было крайне затруднено (для этого приходилось прибегать к другим средствам разработки, в частности, к языку C++). В общем, среда Visual Basic отлично подходила для создания прототипов приложений, но не для разработки коммерческих программных продуктов.

  2.2. Среда программирования Delphi

Мечта программистов о среде программирования, в которой бы простота и удобство сочетались с мощью и гибкостью, стала реальностью с появлением среды Delphi. Она обеспечивала визуальное проектирование пользовательского интерфейса, имела развитый объектно-ориентированный язык Object Pascal (позже переименованный в Delphi) и уникальные по своей простоте и мощи средства доступа к базам данных. Язык Delphi по возможностям значительно превзошел язык Basic и даже в чем-то язык C++, но при этом он оказался весьма надежным и легким в изучении (особенно в сравнении с языком C++). В результате, среда Delphi позволила программистам легко создавать собственные компоненты и строить из них профессиональные программы. Среда оказалась настолько удачной, что по запросам любителей C++ была позже создана среда C++Builder - клон среды Delphi на основе языка C++ (с расширенным синтаксисом).

Среда Delphi стала, по сути, лучшим средством программирования для операционной системы Windows, но программистов ждало разочарование, если возникало желание перенести программу в другую операционную систему, в частности, в операционную систему Unix.

Постепенно пришло понимание того, что в эпоху Интернет способность программ к взаимодействию в сети не менее (а порой более!) важна, чем возможность их переноса на различные платформы. Такая способность была обеспечена за счет стандартизации протоколов обмена данными в сети Интернет и форматов этих данных. Развитие протоколов и стандартов Интернет привело к рождению технологии Web-сервисов, которая ставила своей задачей максимально упростить создание программ, взаимодействующих по принципу клиент-сервер в глобальной сети. Поддержка технологии Web-сервисов была изящно встроена в системы Delphi и Kylix, в результате разработчики программ получили в руки еще один очень важный инструмент.

C++ - компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования. В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения.

При создании Си++ стремились сохранить совместимость с языком Си. Большинство программ на Си будут исправно работать и с компилятором Си++. Си++ имеет синтаксис, основанный на синтаксисе Си. Си++ добавляет к Си объектно-ориентированные возможности. Он вводит классы, которые обеспечивают три самых важных свойства ООП: инкапсуляцию, наследование и полиморфизм.

Язык С++ с появлением первых трансляторов нашёл сразу же очень широкое распространение, на нём было создано огромное количество программ и приложений. По мере накопления опыта создания больших программных систем обнажились недостатки, которые привели к поиску альтернативных решений. Таким альтернативным решением стал язык Java, который в некоторых областях стал конкурировать по популярности с C++, а фирма Майкрософт предложила язык С# как новый язык, развивающий принципы С++ и использующий преимущества языка Java. В дальнейшем появился язык Nemerle, объединяющий достоинства C# с возможностью функционального программирования. В последнее время появилась попытка объединения эффективности C++, безопасности и скорости разработки, как в Java и C#. Был предложен язык D, который пока не получил широкого признания.

2.3   Достоинства языка C++

1)         Кроссплатформенность. На языке C++ разрабатывают программы для самых различных платформ и систем.

2)         Возможность работы на низком уровне с памятью, адресами, портами.

3)         Возможность создания обобщенных алгоритмов для разных типов данных, их специализация, и вычисления на этапе компиляции, используя шаблоны.

2.4   Недостатки языка C++

1)         Плохая поддержка модульности. Подключение интерфейса внешнего модуля через препроцессорную вставку заголовочного файла (#include) серьёзно замедляет компиляцию, при подключении большого количества модулей. Для устранения этого недостатка, многие компиляторы реализуют механизм прекомпиляции заголовочных файлов Precomplied Headers.

2)         Язык C++ является сложным для изучения и для компиляции.

3)         Некоторые преобразования типов неинтуитивны. В частности, операция над беззнаковым и знаковым числами выдаёт беззнаковый результат.

4)         Препроцессор С++ (унаследованный от С) очень примитивен. Это приводит с одной стороны к тому, что с его помощью нельзя (или тяжело) осуществлять некоторые задачи метапрограммирования, а с другой, вследствие своей примитивности, он часто приводит к ошибкам и требует много действий по обходу потенциальных проблем. Некоторые языки программирования (например, Scheme и Nemerle) имеют намного более мощные и более безопасные системы метапрограммирования (также называемые макросами, но мало напоминающие макросы С/С++).

5)         С конца XX века в сообществе С++ получило распространение так называемое метапрограммирование на базе шаблонов. По сути, оно использует особенности шаблонов C++ в целях реализации на их базе интерпретатора примитивного функционального языка программирования выполняющегося во время компиляции. Сама по себе данная возможность весьма привлекательна, но, вследствие вышесказанного, такой код весьма трудно воспринимать и отлаживать. Языки Lisp/Scheme, Nemerle и некоторые другие имеют более мощные и одновременно более простые для восприятия подсистемы метапрограммирования. Кроме того, в языке D реализована сравнимая по мощности, но значительно более простая в применении подсистема шаблонного метапрограммирования.

6)         Хотя декларируется, что С++ мультипарадигменный язык, реально в языке отсутствует поддержка функционального программирования. Отчасти, данный пробел устраняется различными библиотеками (Loki,Boost) использующими средства метапрограммирования для расширения языка функциональными конструкциями (например, поддержкой лямбд/анонимных методов), но качество подобных решений значительно уступает качеству встроенных в функциональные языки решений. Такие возможности функциональных языков как сопоставление с образцом вообще крайне сложно эмулировать средствами мета программирования.


Раздел 3. ОПИСАНИЕ РАЗРАБОТАННОЙ ПРОГРАММЫ

3.1. Описание структуры программы

В отличие от принтеров сканеры изначально не поддерживались ОС Windows и не имеют API для работы с ними . В начале своего появления сканеры взаимодействовали с программами посредством уникального для каждой модели сканера интерфейса, что серьезно затрудняло включение поддержки работы со сканером в прикладные программы. Для решения этой проблемы был разработан TWAIN - индустриальный стандарт интерфейса программного обеспечения для передачи изображений из различных устройств в Windows и Macintosh. Стандарт издан и поддерживается TWAIN рабочей группой - официальный сайт www.twain.org. Стандарт издан в 1992 гаду.

В настоящее время действует версия 1.9 от января 2000 г. Абревеатура TWAIN изначально не имела какого-то определенного смысла хотя позже была придумана расшифровка: (Technology Without An Interesting Name - Технология без интересного имени). TWAIN - не протокол аппаратного уровня, он требует драйвера (названного Data Source или DS) для каждого устройства.

К настоящему времени (май 2000 г.) TWAIN доступен для Windows 3.1 и выше (Intel и совместимые процессоры), Macintosh и OS/2. Для Linux самый близкий стандарт - SANE..

Менеджер TWAIN (DSM) - действует как координатор между приложениями и Источником Данных (Data Source). DSM имеет минимальный пользовательский интерфейс - только выбор DS. Все взаимодействие с пользователем вне прикладной программы осуществляется по средствам DS.

Каждый источник данных разрабатывается непосредственно производителем соответствующих устройств. И их поддержка стандарта TWAIN осуществляется на добровольной основе.

3.3.1 Использование TWAIN

DSM и DS это DLLs загружаемые в адресное пространство приложения и работают как подпрограммы приложения. DSM использует межпроцесcную связь, что бы координировать действия со своими копиями, когда больше чем одна программа использует TWAIN.

Упрощенная схема действия приложения использующего TWAIN:

1. Открыть диалог настройки соответствующего устройства (диалог отображает DS) и задать соответствующие настройки.

2. Приложение ожидает сообщение от DS, что изображение готово. Во время ожидания все зарегистрированные сообщения будут направляться через TWAIN. Если это не будет выполняться, то приложение не получит сообщения о готовности изображения.

3. Приложение принимает изображение от DS.

TWAIN определяет три типа передачи изображения:

Native - в Windows это DIB в памяти

Memory - как блоки пикселей в буферах памяти

File - DS записывает изображение непосредственно в файл (не обязательно поддерживается)

4. Приложение закрывает DS.

3.3.2 Структура программы и используемые функции.

Перед вызовом функций сканирования необходимо вызвать функцию:

TWAIN_SelectImageSource(hwnd: HWND): Integer;.

Данная функция позволяет выбрать источник получения данных из списка TWAIN совместимых устройств, в качестве параметра она получает хендл основного окна прикладной программы. Следует заменить, что если в системе имеется одно TWAIN совместимое устройство, то вызывать функцию не обязательно.


Для сохранения

Фаил сохранить как (вписать имя и через точку расширение)


ЗАКЛЮЧЕНИЕ

При написании работы были сформулированы цель, предмет, объект и задачи.

Были рассмотрены история развития такого устройства как сканер. Были исследованы направления развития автоматического преобразования графического изображения на бумаге или слайде в электронное изображение и ввода его в компьютер

Выбран язык программирования, Borland Delphi 7 Studio как прогрессивный язык объектно-ориентированного программирования.

Перед написанием программы были определены основные функции и особенности. Сама программа разрабатывалась таким образом, чтобы даже неподготовленный пользователь, открыв ее, смог без затруднений выполнить нужные операции


СПИСОК ЛИТЕРАТУРЫ

1. Архангельский А. Я. "Разработка прикладных программ для Windows в Delphi 7"

2. Дарахвелидае П. Г., Марков Е. П. "Программирование в Delphi 7."

3. Зайцев О. В., Владимиров А. М. " Объектно-ориентированное пронграммирование"

4. Галисеев Г. В. "Программирование в среде Delphi 8 for.NET"

5. Гофман В. Э., Хомоненко А. Д. "Delphi. Быстрый старт"

6. Тейксейра С., Пачеко К. "Borland Delhi 6. Руководство разработчика"

7. Фаронов В. В. Программирование баз данных в Delphi 7. Учебный курс; Питер, 2006. – 457с.

8. Фаронов В.В., Шумаков П.В. Delphi 5. Руководство разработчика баз данных.; Нолидж, 2000. – 640с. 

9. Культин Н. Б. Основы программирования в Delphi 7; СПб:БХВ-Петербург, 2003. – 608с.

10. Елманова Н. и др. "Delphi и технология COM. Мастер-класс"


Информация о работе «Создание программы для работы со сканером»
Раздел: Информатика, программирование
Количество знаков с пробелами: 23613
Количество таблиц: 0
Количество изображений: 1

Похожие работы

Скачать
75121
9
12

... , если не в сотнях программ, тем не менее, для очень многих пользователей Рисунок 2.1 – Диалоговое окно WinZip Windows именно WinZip является стандартной программой для работы с архивами. Встроенные средства обработки архивов WinZip позволяют упаковывать, просматривать и извлекать файлы из широко распространенных форматов архивов, таких как ZIP, CAB, Microsoft Compress, GZIP, TAR, UUencode ...

Скачать
40793
1
2

... ·  Если Windows программа имеет графический интерфейс, то и Линукс программа должна иметь его тоже; ·  Функциональность Linux программы должна соответствовать основным функция Windos программы; С учётом поставленных критерий и принципов была осуществлена методика подбора программ аналогов для заполнения информационной базы, в которой они будут участвовать в качестве списков соответствий программ ...

Скачать
47798
0
2

... зависят от того, какие именно применены светочувствительная матрица и оптическая схема, на работу с какими типами оригиналов рассчитаны устройства. 5. Обслуживание сканеров Сканирующие устройства не требуют особого обслуживания. В отличие от принтеров, в сканирующих устройствах не заканчиваются какие-либо расходные материалы, наподобие бумаги или чернил. Очень важно содержать сканер в ...

Скачать
59645
0
0

... случае присоединения к компьютерной системе сканера, в окне папки «Панель управления» появляется соответствующий значок, позволяющий производить настройку. Таким образом, в большинстве программ работа со сканером производится при посредстве специального диалогового окна, обеспечивающего непосредственное взаимодействие со сканером. После того как пользователь дает команду на сканирование документа ...

0 комментариев


Наверх