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

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Таврійський національний університет
ім. В. І. Вернадського
Економіко-гуманітарний факультет
Кафедра інформатики та математики
Курсова робота
На тему: Створення програми для роботи зі сканером
Виконав:
Іванов Євген Андрійович
Науковий керівник
ст.пр. Меркушов А.А.
Мелітополь, 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 біта відповідає 16777216 відтінків. Сучасні сканери випускають з глибиною кольору 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. Майстер-клас"
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
50.3кб. | скачати


Схожі роботи:
Створення програми для автоматизації процесу нарахування заробітної плати
Створення клієнтської програми для користування базою данних MS ACCESS в Delphi 4 0
Складання корекційний програми для роботи з агресивним дитиною
Використання програми Outlook Express для роботи з електронною поштою
Створення ігрової програми шашки для гри між людиною і комп`ютером на мові С Builder
Web-Дизайн і програми для створення web-сторінок
Принцип роботи електричних термометрів і створення вимірювального перетворювача для датчика
Пристрій для вимірювання температури в індустріальних системах і розробка програми для виведення
Створення тестуючої програми
© Усі права захищені
написати до нас