Научная статья на тему 'ОБРАБОТКА ИЗОБРАЖЕНИЙ В СИСТЕМЕ ANDROID'

ОБРАБОТКА ИЗОБРАЖЕНИЙ В СИСТЕМЕ ANDROID Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
20
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЙРОННАЯ СЕТЬ / РАСПОЗНАВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бойнов М.А., Джанаев С.И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бойнов М.А., Джанаев С.И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPARISON OF THE PERFORMANCE OF METHODS ON THE EXAMPLE OF IMAGE PROCESSING IN THE ANDROID SYSTEM

The purpose of the article is to analyze and structure the accumulated information on the process of image processing in the Android system to prepare for recognition, and to identify the fastest algorithm for converting a color image on a gray scale.

Текст научной работы на тему «ОБРАБОТКА ИЗОБРАЖЕНИЙ В СИСТЕМЕ ANDROID»

МАТЕМАТИКА, ИНФОРМАТИКА И ИНЖЕНЕРИЯ

УДК 004.051

Бойнов М.А. студент магистратуры факультет "Системы обработки информации и управления "

Джанаев С.И. студент магистратуры факультет "Системы обработки информации и управления"

МГТУ им. Н.Э. Баумана Россия, г. Москва ОБРАБОТКА ИЗОБРАЖЕНИЙ В СИСТЕМЕ ANDROID

Аннотация:

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

Ключевые слова: OpenCV, android, нейронная сеть, распознавание.

Boynov M.A.

Graduate student Faculty of Computer Science and Control Systems Bauman Moscow State Technical University

Djanaev S.I.

Graduate student Faculty of Computer Science and Control Systems Bauman Moscow State Technical University

COMPARISON OF THE PERFORMANCE OF METHODS ON THE EXAMPLE OF IMAGE PROCESSING IN THE ANDROID SYSTEM

Annotation:

The purpose of the article is to analyze and structure the accumulated information on the process of image processing in the Android system to prepare for recognition, and to identify the fastest algorithm for converting a color image on a gray scale.

Key words: OpenCV, android, neural network, recognition.

Введение

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

RGB Grayscale ElackWhite

Image Image Image

Morthe-d Image

Contur ' Contur 2 Contur N

Recognized Text ■ Symbol 1 • Symbol 2 • Symbol N

Line 1 Line 2 Line N

Рис.1 Схема получения текста Сначала изображение конвертируется в оттенки серого, чтобы затем преобразовать его в черно-белое. После чего над черно-белым изображением проводятся морфологические операции, в процессе которых мы получаем контуры, а затем их объединяем в строки. Из изображения в градациях серого с использованием координат контуров получаем изображения отдельных символов, для нейронной сети. Для того чтобы этот процесс происходил как можно быстрее в этой рассматривается процесс преобразования цветного изображения в оттенки серого.

Преобразование цветного изображения в оттенки серого В цветовых пространствах YUV и YIQ используемые в PAL и NTSC яркость Y' вычисляется следующим образом:

Y-0.299R+0.587G+0.114B где R - яркость пикселя красного канала G - яркость пикселя зеленого канала B - яркость пикселя синего канала Для учёта особенностей восприятия изображения человеческим глазом (чувствительность к зелёному и синему цвету) в модели HDTV используют другие коэффициенты:

Y-0.2126R+0.7152G+0.0722B

Алгоритмы преобразования

Рассмотрим алгоритм преобразования цветного изображения в оттенки серого на языке Java в системе Android. Сначала нужно конвертировать файл в формате JPG или PNG в формат Bitmap, затем попиксельно обходить изображение.

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

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

Mat tmp = new Mat(int rows, int cols, int type); где int rows - число строк матрицы int cols - число столбцов матрицы

int type - тип матрицы

Тип матрицы определяет ее глубину(канал) и используемые значения, то есть если изображение цветное, то глубина будет равна трем, а если в оттенках серого, то единице. Рассмотрим несколько типов матрицы. Тип CV_8UC1 хранит значения пикселей в диапазоне от 0 до 255 включительно и имеет 1 канал. Тип CV_8SC3 хранит значения пикселей в диапазоне от -128 до 128 включительно и имеет 3 канала.

После того как мы создали матрицу необходимо ее заполнить. В OpenCV эту роль выполняет функция:

bitmapToMat(Bitmap bmp, Mat dst); где Bitmap bmp - изображение в формате bitmap Mat dst - матрица для заполнения

Функция перевода цветного изображения в градации серого выглядит следующим образом:

cvtColor(Mat src, Mat dst, int code); где Mat src - исходная матрица

Mat dst - целевая матрица

int code - код перевода (Для цветного в градации серого -COLOR_RGB2 GRAY)

Чтобы выявить время выполнения каждого алгоритма окружим их следующими строками:

long startTime = System.currentTimeMüHsO;

//ALGORYTHM

long finishTime = System.currentTimeMüHsO;

В итоге если повторять преобразования 1000 раз для изображения разрешением 1024х768 получим следующие результаты которое сведены в таблицу 1:

Таблица 1. Результаты эксперимента.

Метод Время выполнения(меньше-лучше), ms

Java Dalvik 34548

OpenCV 5020

Выводы

Для системы Android язык Java является удобным и быстрым средством разработки программного обеспечения, в тоже время для обеспечения производительности существуют отдельные реализации. Так в OpenCV используется Android NDK которое обеспечивает увеличение производительности устройства и сокращение времени выполнения процедур соответственно, что было показано на примере преобразования

цветного изображения в оттенки серого.

Использованные источники:

1. Adam Gibson, Josh PattersonDeep Learning: DL4J and Beyond. 2017.

2. Gary Bradski, Adrian KaehlerLearning OpenCV. Computer Vision with theOpenCV Library. 2008.

3. Onur CinarPro Android C++ with the NDK - 1st ed. 2012.

4. Grayscale // Wiki URL: https ://en.wikipedia. org/wiki/Grayscale

5. Documentation // OpenCV URL: http://docs.opencv.org/3.2.0/

6. Sheran GunasekeraAndroid Architecture. 2012.

УДК 51-7

Гуреева Я.А. студент 1 курса Институт управления научный руководитель: Маслакова Л. Ф.

старший преподаватель кафедра «Общей математики» Белгородский государственный национальный исследовательский университет Россия, г. Белгород

ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ МАТЕМАТИЧЕСКХ МЕТОДОВ В

ПСИХОЛОГИИ

Аннотация:

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

Ключевые слова: математика, психология, статистика, математические методы, психологические исследования.

Gureeva I. S. Student

1st year, Institute of management Belgorod State National Research University

Russia, Belgorod Maslakova L. F

Senior teacher of the Department of General Mathematics Belgorod State National Research University

Russia, Belgorod

PRACTICAL APPLICATION OF MATHEMATICAL METHODS IN

PSYCHOLOGY

Mathematical methods of data processing are a tool for identifying, processing, reducing and classifying, experimentally obtained, psychological

i Надоели баннеры? Вы всегда можете отключить рекламу.