их і діагональних паличок.
Розглянемо на прикладі:
### 00
### 00
### 00
### 00
### 00
### 00
### 00
Через «#» позначена частина літери. Більшість її поверхневих пікселів мають 3 «особливо контрастних сусіда», кутові пікселі мають 5, але кутів в символі мало, тому можна проігнорувати їх.
Чим більше таких пікселів у віконці, тим більше його «штріхованіем». Також тільки для 6 «особливо контрастних сусідів». Це коли символ товщиною в один піксель.
Приклад:
######### 00
# 0000000000
# 0000000000
# 0000000000
# 0000000000
# 0000000000
# 0000000000
У всіх пікселів цієї букви Г 6 «особливо контрастних сусідів», окрім двох кінцевих пікселів - у них 7. Але кінцевих пікселів набагато менше внутрішніх raquo ;, тому їх теж можна проігнорувати.
Далі результати обчислення кількості «особливо контрастних сусідів» поміщаються в масив, і обчислюється сума кількості пікселів мають 3 і 6 «особливо контрастних сусіда». За допомогою неї і розраховується «штріхованіем» віконця.
.3.2.4 Обчислення передбачуваних текстових областей
Функція формує список координат прямокутних текстоподобних областей зображення шляхом подвійного виклику функції «Формування списку передбачуваних текстових областей» і заповнення робочої матриці тими пікселями, які потрапили в квадрати, що пройшли критерій на «текстоподобность».
1.3.3 Практична реалізація алгоритму
Для практичної реалізації алгоритму була вибрана мова «Python 2.6», оскільки він володіє достатнім і зручним набором засобів для вирішення поставленого завдання. Реалізація алгоритму на інших мовах, наприклад «С ++» більш трудомістка, але швидкість роботи програмного модуля значно зросте. «Python» був обраний для демонстрації працездатності модуля і алгоритму в рамках поставленого завдання.
Розроблений програмний модуль обробляє найпоширеніші формати графічних файлів, такі як: .bmp raquo ;, .jpg raquo ;, .jpeg raquo ;, .gif raquo ;, .png raquo ;. Модуль бере графічні файли з папки, шлях до якої прописаний в коді програми і, обробляючи їх, створює нові графічний файли з передбачуваними текстовими областями в цій же папці. Ім'я нових файлів виглядає як «zz_імя_файла». Після того як всі графічні файли в папці оброблені створюється файл звіту у вигляді html - сторінки, що містить: вхідні фали, результат обробки та опис файлів. Також у головному вікні програми з'являється інформація в міру оброблення файлів і після завершення обробки (малюнок 1.26).
Рис. 1.26 Головне вікно програми
У модулі є параметри, які відповідають за результат обробки і за визначення потенційно небезпечних зображень, в яких може міститися конфіденційна інформація, такі як:
Мінімум для числа символів в «широкому» ділянці тексту (ns);
«Небезпека» для числа всіх ділянок (aw);
«Небезпека» для числа всіх широких ділянок (bw);
«Небезпека» для загального числа символів у всіх ділянках (cw).
Ці параметри можна змінювати в тексті програми для забезпечення різного ступеня фільтрації зображень і виявлення потенційно «небезпечних». Фільтрація і виявлення потенційно «небезпечних» зображень відбувається за принципом:
Виявлено текстоподобних ділянок: «Х» З них містять не менше «ns» «умовних» символів: «Y» .Загальна число «умовних» символів у всіх ділянках: «Z», де X, Y, Z - значення, отримані в результаті дослідження зображення, зіставляються з параметрами.
Якщо X gt; aw і Y gt; bw - Так, то помічаємо зображення як «Warning»;
Ні, то Якщо Z gt; cw - Так, помічаємо зображення як «Warning»;
Ні, то зображення не позначається, де ns, аw, bw, cw - коефіцієнти політики безпеки, які вводимо в коді.
Іншими словами, порівнюємо з заданим параметром «аw» кількість «текстоподобних» ділянок, виявлених в зображенні, також порівнюємо кількість «текстоподобних» ділянок містять «ns» «умовних» символів із заданим параметром «bw». Якщо значення, знайдені після дослідження більше параметрів, то на зображення ставиться мітка «Warning», якщо ні, то порівнюємо загальна кількість «умовних» символів в зображенні з заданим числом «cw». Якщо загальна кількість «умовних» символів в зображенні більше заданого параметра, то на зображення ставиться мітка «Warning», якщо менше, то аналізуємо наступні зображення.
Мітка «Warning» необхідна для того щоб відзначити зображення як потенційно «небезпечне», яке може містити в собі конфіденційну інформацію. Для того щоб система захисту, оснащена даним модулем, була сповіщена про «небезпечному» графічному файлі і могла застосувати до нього певні дії, наприклад відправити на дослідження іншими модулями цієї системи.
.3.3.1 Приклад роботи програмного модуля ...