Создание программы для работы со сканером. История создания сканера реферат


История развития сканера - ИСТОРИЯ РАЗВИТИЯ УСТРОЙСТВА ВВОДА ПК

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

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

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

Принцип работы (планшетный):

Оригинал располагается на прозрачном неподвижном стекле, вдоль которого передвигается сканирующая каретка с источником света (если сканируется прозрачный оригинал, используется так называемый слайд-модуль - крышка, в которой параллельно сканирующей каретке сканера перемещается вторая лампа).

Оптическая система сканера (состоит из обьектива и зеркал или призмы) проецирует световой поток от сканируемого оригинала на приёмный элемент, осуществляющий разделение информации о цветах - три параллельных линейки из равного числа отдельных светочувствительных элементов, принимающие информацию о содержании "своих" цветов. В трёхпроходных сканерах используются лампы разных цветов или же меняющиеся светофильтры на лампе или CCD-матрице. Приёмный элемент преобразует уровень освещенности в уровень напряжения (все ещё аналоговую информацию). Далее, после возможной коррекции и обработки, аналоговый сигнал поступает на аналого-цифровой преобразователь (АЦП). С АЦП информация выходит уже в двоичном виде и, после обработки в контроллере сканера через интерфейс с компьютером поступает в драйвер сканера - обычно это так называемый TWAIN-модуль, с которым уже взаимодействуют прикладные программы.

Классификация современных сканеров:

Ручные сканеры

В основу работы ручных сканеров положен процесс регистрации отраженных лучей светодиодов от поверхности сканируемого документа. Для того чтобы ввести в компьютер какой-либо документ при помощи этого устройства, надо без резких движений провести сканирующей головкой по соответствующему изображению. Таким образом, проблема перемещения считывающей головки относительно бумаги целиком ложится на пользователя. Равномерность перемещения сканера существенно сказывается на качестве вводимого в компьютер изображения. В ряде моделей для подтверждения нормального ввода имеется специальный индикатор. Ширина вводимого изображения для ручных сканеров не превышает обычно 4 дюймов (10 см). В некоторых моделях ручных сканеров для повышения разрешающей способности уменьшают ширину вводимого изображения. Современные ручные сканеры могут обеспечивать автоматическую "склейку" вводимого изображения, то есть формируют целое изображение из отдельно вводимых его частей. Благодаря этому, при помощи ручного сканера невозможно ввести изображения даже формата А4 за один проход.

К основным достоинствам такого типа сканеров относятся:

низкая стоимость. Поскольку в ручных сканерах в качестве позиционирующего модуля выступает пользователь, отпадает необходимость в этом дорогом элементе; портативность. С появлением ручных сканеров, подключаемых к параллельному порту, их можно использовать как с настольными, так и с портативными компьютерами;

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

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

Настольные сканеры:

В России модели с реднего класса (настольные офисные сканеры документов) в силу своей универсальности являются наиболее часто используемым типом сканерного оборудования. Настольные сканеры называют и страничными, и. планшетными, и даже авто сканерами. Такие сканеры позволяют вводить изображения размерами 8,5 на 11 или 8,5 на 14 дюймов. Они выпускаются со SCSI или скоростными видео- интерфейсами, обычно допускают сканирование с планшета или с использованием интегрированного устройства автоподачи документов. Существуют три разновидности настольных сканеров: планшетные (flatbed), рулонные (shett-fed) и проекционные(overhead).

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

Планшетные сканеры, особенно предназначенные для чего-то кроме подарка или использования в качестве игрушки, при внешней простоте являются весьма интересными и довольно сложными опто-электронно-механическими устройствами. Однако конструкция их устоялась, производство хорошо налажено и технологически не является чем-то запредельным, так что обычно планшетные сканеры в ценовом диапазоне до 10000 долларов (включая такие известные имена, как AGFA, Linotype-Hell и UMAX) производятся на Тайване.

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

Оптическое разрешение настольных сканеров регулируется в диапазоне 100-800 dpi. Скорости сканирования достигают 64 страниц в минуту. На планшетных настольных сканерах можно сканировать неразброшюрованные документы, книжные страницы, документы нестандартного размера или полиграфического исполнения. Универсальный характер устройств подчеркивается в последнее время выпуском моделей, позволяющих наряду со скоростным вводом документов полноценно (до 16.7 млн. цветов) сканировать в цвете. Несмотря на то, что паспортная производительность отдельных моделей настольных сканеров не уступает и даже, иной раз, превосходит соответствующие показатели специализированных производственных сканеров, во избежание частых замен изнашивающихся элементов устройства (главным образом, ламп, роликов и прокладок), настольные модели не следует использовать в режимах полносменного или круглосуточного сканирования. При условии непревышения рекомендованных дневных нагрузок (приблизительно 5 часов сканирования в день) среднее время между отказами для старших моделей настольных скоростных сканеров составляет около трех лет (при этом в зависимости от модели после сканирования каждых 100-200 тысяч страниц потребуется замена расходуемых элементов - consumables).

Схема для трехпроходного сканера

   Планшетные сканеры в свою очередь классифицируются наоднопроходные или трехпроходные. 

   Раньше для цветного сканирования приходилось использовать трехпроходную технологию, то есть первый проход с красным фильтром для получения красной составляющей, второй - для зеленой составляющей и третий - для синей. Такой метод имеет два существенных недостатка: малая скорость работы и проблема объединения трех отдельных сканов в один, с вытекающим отсюда несовмещением цветов. Решением стало создания True Color CCD, позволяющих воспринимать все три цветовые составляющие цветного изображения за один проход. Cейчас на рынке нет трехпроходных сканеров.

Схема для однопроходного сканера
True Color CCD является стандартом на данный момент и в мире уже никто не выпускает трехпроходные сканеры. Однопроходные сканеры используют одну из двух подсистем для получения данных о цвете изображения: некоторые используют ПЗС со специальным покрытием, которое фильтрует цвет по составляющим, другие используют призму для разделения цветов.
Рулонные сканеры

Рулонные сканеры представляют собой монохромные устройства, предназначенные главным образом для ввода документов в машину, с помощью оптического распознавания символов OCR (Optical Character Recognition). Работа рулонных сканеров происходит следующим образом: отдельные листы документов протягиваются через такое устройство, при этом и осуществляется их сканирование. Таким образом, в данном случае сканирующая головка остается на месте, уже относительно нее перемещается бумага. Понятно, что в этом случае сканирование страниц книг и журналов просто невозможно. Для удобства работы рулонные сканеры обычно оснащаются устройствами для автоматической подачи страниц. 

Проекционные сканеры

Разновидность настольных сканеров — проекционные сканеры, которые напоминают своеобразный проекционный аппарат (или фотоувеличитель). Вводимый документ кладется на поверхность сканирования изображением вверх, блок сканирования находится при этом также сверху. Перемещается только сканирующее устройство. Основной особенностью данных сканеров является возможность сканирования проекций трехмерных изображений. Комбинированный сканер обеспечивает работу в двух режимах: протягивания листов (сканирование оригиналов форматом от визитной карточки до21,6 см) и самодвижущегося сканера. Для реализации последнего режима сканера необходимо снять нижнюю крышку. При этом валики, которые обычно протягивают бумагу, служат для передвижения сканера по сканируемой поверхности. Хотя понятно, что ширина вводимого сканером изображения в обоих режимах не изменяется (чуть больше формата А4), однако в самодвижущемся режиме можно сканировать изображение с листа бумаги, превышающего этот формат, или вводить информацию со страниц книги.

sites.google.com

Создание программы для работы со сканером

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

Таврический национальный университет

им. В.И.Вернадского

Экономико-гуманитарный факультет

Кафедра информатики и математики

КУРСОВАЯ РАБОТА

На тему: Создание программы для работы со сканером

Выполнил:

Иванов Евгений Андреевич

Научный руководитель

ст.пр. Меркуш А.А.

Мелитополь, 2008

содержаниеВВЕДЕНИЕ

Раздел 1 ПРИНЦИПЫ ПОЛУЧЕНИЯ ЭЛЕКТРОННЫХ КОПИЙ

1.1 История создания сканера

1.2 Принцип действия

1.3 Виды сканеров

1.3.1 Планшетные

1.3.2 Ручные сканеры

1.3.3 Барабанные сканеры

1.3.4 Листопротяжные сканеры

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

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

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

1.4.1 Разрешение

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

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

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

Раздел 2 ВЫБОР СРЕДЫ ПРОГРАМИРОВАНИЯ

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

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

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

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

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

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

3.2 Инструкция пользователю

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

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

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

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

Сканер (англ. scanner) -- устройство, которое, анализируя какой-либо объект (изображение, текст…) создаёт цифровую копию изображения объекта. Процесс получения этой копии называется сканированием.

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

Таким образом, для работы с данными устройствами создаются программы, которые упрощают использование данных приспособлений.

Темой данной курсовой работы является разработка программы для работы со сканером.

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

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

Объект исследования - разработка программа для визуального ввода данных в компьютер с помощью сканера.

РАЗДЕЛ 1

ПРИНЦИПЫ ПОЛУЧЕНИЯ ЭЛЕКТРОННЫХ КОПИЙ ДОКУМЕНТОВ

1.1. История создания сканера

В 1857 году флорентийский аббат Джованни Казелли (Giovanni Caselli) изобрёл прибор для передачи изображения на расстояние, названный впоследствии пантелеграф. Передаваемая картинка наносилась на барабан токопроводящими чернилами и считывалась с помощью иглы.

В 1902 году, немецким физиком Артуром Корном (Arthur Korn) была запатентована технология фотоэлектрического сканирования, получившая впоследствии название телефакс. Передаваемое изображение закреплялось на прозрачном вращающемся барабане, луч света от лампы, перемещающейся вдоль оси барабана, проходил сквозь оригинал и через расположенные на оси барабана призму и объектив попадал на селеновый фотоприёмник. Эта технология до сих пор применяется в барабанных сканерах.

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

1.2 Принцип действия сканера

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

Рис. 1.2.1 Схема работы планшетного сканера

Свет, отраженный от объекта, через систему зеркал попадает на чувствительную матрицу (англ. CCD -- Couple-Charged Device), далее на АЦП и передается в компьютер. За каждый шаг двигателя сканируется полоска объекта, которые потом объединяются программным обеспечением в общее изображение.

Изображение всегда сканируется в формат RAW -- а затем конвертируется в обычный графический формат с применением текущих настроек яркости, контрастности, и т. д. Эта конвертация осуществляется либо в самом сканере, либо в компьютере -- в зависимости от модели конкретного сканера. На параметры и качество RAW-данных влияют такие аппаратные настройки сканера, как время экспозиции матрицы, уровни калибровки белого и чёрного, и т. п.

Все бытовые сканеры содержат собственные микропроцессоры, иногда это совмещённые с АЦП микропроцессоры, а иногда это микропроцессоры общего вида.

1.3 Виды сканеров.

1.3.1 Планшетные сканеры

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

1.3.2 Ручные сканеры

Ручные -- в них отсутствует двигатель, следовательно, объект приходится сканировать пользователю вручную, единственным его плюсом является дешевизна и мобильность, при всём этом он имеет массу недостатков -- низкое разрешение, малую скорость работы, узкая полоса сканирования, возможны перекосы изображения, поскольку пользователю будет трудно перемещать сканер с постоянной скоростью.

1.3.3 Барабанные сканеры

Барабанные сканеры -- применяются в полиграфии, имеют большое разрешение (около 10 тысяч точек на дюйм). Оригинал располагается на внутренней или внешней стенке прозрачного цилиндра (барабана).

1.3.4 Листопротяжные сканеры

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

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 Использование TWAINDSM и 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. Мастер-класс"

referatwork.ru

1.1. История создания сканера. Создание программы для работы со сканером

Похожие главы из других работ:

Возможности программного комплекса SolidWorks

1. История создания

В декабре далекого 1995 года никому тогда не известная американская компания SolidWorks Corporation выпустила первую версию пакета 3D моделирования SolidWorks 95. С тех пор прошло ровно 10 лет, в течение которых увидели свет 14 новых версий системы...

Деятельность ТОО "Компания Первый БИТ"

1.2 История создания и развития

Сегодня «Первый БИТ» одна из ведущих российских ИТ-компаний и один из крупнейших партнеров фирмы 1С. А еще 17 лет назад офис компании находился в маленькой комнатке...

Дисплеи. Принципы работы

1. История создания дисплея

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

Операционная система MS DOS

История создания

Первой разработкой MS-DOS можно считать операционную систему для персональных ЭВМ, созданную фирмой Seattle Сomрuter Рroduсts в 1980 г. В конце 1980 г. система, первоначально названная QDOS, была модифицирована и переименована в 86-DOS...

Операционные системы, альтернативные Windows

2.2.1 История создания

Операционная система OS/2 начиналась как совместная разработка IBM и Microsoft (1984 г.). Однако впоследствии проект распался, и Microsoft переделала свою версию OS/2 в Windows NT, а сама OS/2 продолжала разрабатываться в фирме IBM...

Разработка логической игры "Пятнашки"

2.1 История создания

С 1891 года до самой смерти Сэм Ллойд считал, что изобрёл головоломку именно он. Однако существуют доказательства того, что он был непричастен к созданию «пятнашек». Настоящим изобретателем был Ной Палмер Чепмэн, почтмейстер из Канастоты...

Разработка мультимедийного приложения

2.1 История создания Flash

Flash (от англ. Flash - «вспышка») - это технология веб-мультипликации и создания интерактивного контента. Основная особенность Flash - векторный морфинг...

Создание видео-лекции "Графический редактор Gimp"

1. ИСТОРИЯ СОЗДАНИЯ GIMP

Проект GIMP (GNU Image Manipulation Program) был основан в 1995 году Спенсером Кимбеллом и Питером Маттисом как дипломный проект, в настоящий момент поддерживается группой добровольцев. Распространяется на условиях GNU General Public License. Т.е., проще говоря, бесплатно...

Создание компьютерной сети учебного класса школы на основе кабеля "витая пара"

1.2.1 История создания ЛВС

Первую в мире ЛВС создал в 1967 г. Дональд Дэвис в Национальной физической лаборатории Великобритании (British National Physics Laboratory). К началу 70-х сеть работала с пиковой скоростью 0,25 Мбит/с, обслуживая около 200 пользователей. Первая ЛВС Ethernet...

Создание логотипа компьютерной фирмы

1.1 История создания логотипов

Логотимп (от др.-греч. льгпт -- слово + фэрпт -- отпечаток) -- оригинальное начертание полного или сокращённого наименования организации или товара. Логотип является словесной частью товарного знака (Рис 1.1, Рис.1.2)...

Технологии DVD (Универсальный Цифровой Диск)

1.1 История создания DVD

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

Технология Bluetooth

1.1 История создания

Развитие технологии беспроводной связи, Bluetooth, началось в компании Эрикссон в 1994 году исследованиями, целью которых была реализация экономически и технологически эффективного радио интерфейса...

Усовершенствование видеокарты

1.1 История создания видеокарты

Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Он работал только в текстовом режиме с разрешением 80Ч25 символов (физически 720Ч350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный...

Флеш-память. Принципы работы

1. Краткая история создания

Предшественниками технологии флеш-памяти можно считать ультрафиолетово стираемые ПЗУ и электрически стираемые. Эти приборы также имели матрицу транзисторов с плавающим затвором...

Языки программирования для разработки сайта

1.3 История создания web-сайта

Первый в мире сайт - info. cern. ch появился 6 августа 1991 года. Его создатель, Тим Бернерс-Ли, опубликовал на нём описание новой технологии World Wide Web, основанной на протоколе передачи данных HTTP, системе адресации URI и языке гипертекстовой разметки HTML...

prog.bobrodobro.ru

Сканеры — курсовая работа



Содержание

Введение………………………………………………………………………………..3

Глава 1.Принципы получение электронных копий………………………………….4

1.1 История создания сканера…………………………………………………………4

1.2 Принцип действия………………………………………………………………….4

1.3 Виды сканеров……………………………………………………………………...5

1.4 Характеристики сканеров………………………………………………………...10

Глава 2.Описание разработанной программы………………………………………12

2.1 Выбор среды программирования………………………………………………..12

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

2.3 Среда программирования Delphi………………………………………………...13

2.4 Достоинства и недостатки языка C++…………………………………………...15

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

2.6 Использование TWAIN…………………………………………………………...17

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

Заключение……………………………………………………………………………19

Список используемой литературы…………………………………………………..20

Приложение 1 (Листинг программы)………………………………………………..21

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

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

Сканер (англ. scanner) — устройство, которое, анализируя какой-либо объект (изображение, текст…) создаёт цифровую копию изображения объекта. Процесс получения этой копии называется сканированием.

Сканирование документов – процесс создания электронного  изображения бумажного документа, напоминает его фотографирование [11].

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

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

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

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

Объект исследования - разработка программы для визуального ввода данных в компьютер с помощью сканера.

 

 

 

Глава 1.Принципы получение электронных копий

1.1 История создания сканера

В 1857 году флорентийский аббат Джованни Казелли (Giovanni Caselli) изобрёл прибор для передачи изображения на расстояние, названный впоследствии пантелеграф. Передаваемая картинка наносилась на барабан токопроводящими чернилами и считывалась с помощью иглы.[11]

В 1902 году, немецким физиком Артуром Корном (Arthur Korn) была запатентована технология фотоэлектрического сканирования, получившая впоследствии название телефакс. Передаваемое изображение закреплялось на прозрачном вращающемся барабане, луч света от лампы, перемещающейся вдоль оси барабана, проходил сквозь оригинал и через расположенные на оси барабана призму и объектив попадал на селеновый фотоприёмник. Эта технология до сих пор применяется в барабанных сканерах.[11]

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

 

1.2 Принцип действия сканера

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

Рис. 1. Схема работы планшетного сканера

Свет, отраженный от объекта, через систему зеркал попадает на чувствительную матрицу (англ. CCD — Couple-Charged Device), далее на АЦП и передается в компьютер. За каждый шаг двигателя сканируется полоска объекта, которые потом объединяются программным обеспечением в общее изображение.

Изображение всегда сканируется в формат RAW — а затем конвертируется в обычный графический формат с применением текущих настроек яркости, контрастности, и т. д. Эта конвертация осуществляется либо в самом сканере, либо в компьютере — в зависимости от модели конкретного сканера. На параметры и качество RAW-данных влияют такие аппаратные настройки сканера, как время экспозиции матрицы, уровни калибровки белого и чёрного, и т. п.

Все бытовые сканеры содержат собственные микропроцессоры, иногда это совмещённые с АЦП микропроцессоры, а иногда это микропроцессоры общего вида.

 

1.3 Виды сканеров

Планшетные — наиболее распространённый вид сканеров, поскольку обеспечивает максимальное удобство для пользователя — высокое качество и приемлемую скорость сканирования. Представляет собой планшет, внутри которого под прозрачным стеклом расположен механизм сканирования. Принцип работы однопроходного планшетного сканера состоит в том, что вдоль сканируемого изображения, расположенного на прозрачном неподвижном стекле, движется сканирующая каретка с источником света. Отраженный свет через оптическую систему сканера (состоящую из объектива и зеркал или призмы) попадает на три расположенных параллельно друг другу фоточувствительных полупроводниковых элемента на основе ПЗС, каждый из которых принимает информацию о компонентах изображения.[14]

Ручные — в них отсутствует двигатель, следовательно, объект приходится сканировать пользователю вручную, единственным его плюсом является дешевизна и мобильность, при этом он имеет массу недостатков — низкое разрешение, малую скорость работы, узкая полоса сканирования, возможны перекосы изображения, поскольку пользователю будет трудно перемещать сканер с постоянной скоростью.Первые ручные сканеры изображений были особенно популярны в начале 90-х. Большинство ручных сканеров были монохромными и для освещения изображения использовали свет нескольких зеленых светодиодов. Как правило, они имели специализированный интерфейс, подходящий к определенному типу компьютеров: например Atari ST или Commodore Amiga.

В сравнении с планшетными сканерами, первые ручные сканеры имели более компактные размеры, выполняли идентичные функции, но справлялись с задачей на порядок хуже. Например, отсканировать стандартный лист А4 за один проход не представлялось возможным: необходимо было последовательно обрабатывать несколько участков, при цветном сканировании зачастую появлялись ореолы, искажалась цветовая гамма. Главной же проблемой являлось соблюдение постоянной скорости — в большинстве случаев не получалось добиться равномерного движения, что приводило к искажению получаемого изображения.[15]

  Барабанные сканеры — применяются в полиграфии, имеют большое

разрешение (около 10 тысяч точек на дюйм). Оригинал располагается на внутренней или внешней стенке прозрачного цилиндра (барабана)

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

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

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

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

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Глава 2. Описание разработанной программы

2.1 Выбор среды программирования

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

 

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

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

student.zoomru.ru

Реферат - Создание программы для работы со сканером

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

Таврический национальный университет

им. В.И.Вернадского

Экономико-гуманитарный факультет

Кафедра информатики и математики

КУРСОВАЯ РАБОТА

На тему: Создание программы для работы со сканером

Выполнил:

Иванов Евгений Андреевич

Научный руководитель

ст.пр. Меркуш А.А.

Мелитополь, 2008

содержание

Введение

Раздел 1 ПРИНЦИПЫ ПОЛУЧЕНИЯ ЭЛЕКТРОННЫХ КОПИЙ

1.1 История создания сканера

1.2 Принцип действия

1.3 Виды сканеров

1.3.1 Планшетные

1.3.2 Ручные сканеры

1.3.3 Барабанные сканеры

1.3.4 Листопротяжные сканеры

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

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

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

1.4.1 Разрешение

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

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

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

Раздел 2 ВЫБОР СРЕДЫ ПРОГРАМИРОВАНИЯ

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

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

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

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

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

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

3.2 Инструкция пользователю

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

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

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

ВВЕДЕНИЕ

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

Сканер (англ. scanner) — устройство, которое, анализируя какой-либо объект (изображение, текст…) создаёт цифровую копию изображения объекта. Процесс получения этой копии называется сканированием.

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

Таким образом, для работы с данными устройствами создаются программы, которые упрощают использование данных приспособлений.

Темой данной курсовой работы является разработка программы для работы со сканером.

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

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

Объект исследования — разработка программа для визуального ввода данных в компьютер с помощью сканера.

РАЗДЕЛ 1

ПРИНЦИПЫ ПОЛУЧЕНИЯ ЭЛЕКТРОННЫХ КОПИЙ ДОКУМЕНТОВ

1.1. История создания сканера

В 1857 году флорентийский аббат Джованни Казелли (Giovanni Caselli) изобрёл прибор для передачи изображения на расстояние, названный впоследствии пантелеграф. Передаваемая картинка наносилась на барабан токопроводящими чернилами и считывалась с помощью иглы.

В 1902 году, немецким физиком Артуром Корном (Arthur Korn) была запатентована технология фотоэлектрического сканирования, получившая впоследствии название телефакс. Передаваемое изображение закреплялось на прозрачном вращающемся барабане, луч света от лампы, перемещающейся вдоль оси барабана, проходил сквозь оригинал и через расположенные на оси барабана призму и объектив попадал на селеновый фотоприёмник. Эта технология до сих пор применяется в барабанных сканерах.

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

1.2 Принцип действия сканера

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

Рис. 1.2.1 Схема работы планшетного сканера

Свет, отраженный от объекта, через систему зеркал попадает на чувствительную матрицу (англ. CCD — Couple-ChargedDevice), далее на АЦП и передается в компьютер. За каждый шаг двигателя сканируется полоска объекта, которые потом объединяются программным обеспечением в общее изображение.

Изображение всегда сканируется в формат RAW — а затем конвертируется в обычный графический формат с применением текущих настроек яркости, контрастности, и т. д. Эта конвертация осуществляется либо в самом сканере, либо в компьютере — в зависимости от модели конкретного сканера. На параметры и качество RAW-данных влияют такие аппаратные настройки сканера, как время экспозиции матрицы, уровни калибровки белого и чёрного, и т. п.

Все бытовые сканеры содержат собственные микропроцессоры, иногда это совмещённые с АЦП микропроцессоры, а иногда это микропроцессоры общего вида.

1.3 Виды сканеров.

1.3.1 Планшетные сканеры

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

1.3.2 Ручные сканеры

Ручные — в них отсутствует двигатель, следовательно, объект приходится сканировать пользователю вручную, единственным его плюсом является дешевизна и мобильность, при этом он имеет массу недостатков — низкое разрешение, малую скорость работы, узкая полоса сканирования, возможны перекосы изображения, поскольку пользователю будет трудно перемещать сканер с постоянной скоростью.

1.3.3 Барабанные сканеры

Барабанные сканеры — применяются в полиграфии, имеют большое разрешение (около 10 тысяч точек на дюйм). Оригинал располагается на внутренней или внешней стенке прозрачного цилиндра (барабана).

1.3.4 Листопротяжные сканеры

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

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

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

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

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

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

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

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

Оптическое разрешение. Разрешение измеряется в точках на дюйм (англ. Dotsperinch — 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, который пока не получил широкого признания.

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

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

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

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 совместимое устройство, то вызывать функцию не обязательно.

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

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

ЗАКЛЮЧЕНИЕ

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

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

Выбран язык программирования, BorlandDelphi 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. Мастер-класс»

www.ronl.ru


Смотрите также