Локализация японских мобильных телефонов и планшетов на примере планшета Sharp SH-08E Aquos PAD. Локализация мобильных телефонов


Локализация мобильного телефона | MobitelReview.ru

В настоящее время уже предлагаются платные услуги локализации, позволяющие владельцу мобильного телефона определить свое географическое местоположение (в некоторой степени аналогично глобальной системе определения местоположения GPS). Но речь в данном разделе пойдет о другом - об исследовании той зоны SIM-карты, которая позволяет «отслеживать» все перемещения мобильного телефона: LOCI (7F20:6F7E).

Данный файл прозрачного типа длиной 11 байт (ОВп), считывание и запись в котором защищены только конфиденциальным кодом пользователя CHV1, позволяет проводить интересные манипуляции, связанные непосредственно с сетью. Отправив карте приведенную ниже последовательность команд, можно полностью прочитать содержимое рассматриваемого файла LOCI:

АО А4 00 00 02 7F 20 АО А4 00 00 02 6F 7Е АО ВО 00 00 0В

Чтобы извлечь максимум информации из этого блока, состоящего из 11 байт, его надо разбить в соответствии с указаниями, приведенными на рис. 5.4.

Группа из первых четырех байт называется временным идентификатором мобильного абонента TMSI (Temporary Mobile Subscriber Identity). Этот идентификатор присваивается сетью каждому мобильному телефону, успешно прошедшему регистрацию, и временно заменяет международный номер IMSI, пока это не вносит сомнений по поводу точной идентификации SIM-карты. При отсутствии регистрации эта зона имеет вид FF FF FF FF.

1 2 3 4 5 6 7 8 9 10 11
TMSI (временный идентификатор мобильного абонента) МСС ONJAI LAC (код зоны местонахождения) TMSI время 00 = updated;01 = not updated;02 = PLMN not allowed;03 = Location area not allowed;07 = reserved;

Рис. 5.4. Значения 11 байт файла LOCI

Байты 5, 6 и 7 содержат полный код (код страны МСС и код сети MNC) последней сети, в которой мобильный телефон успешно зарегистрировался, и сохраняют свое значение вплоть до следующей попытки регистрации. Часто при повторном включении мобильный телефон старается зарегистрироваться прежде всего в этой сети, что побуждает операторов при выдаче карты переписывать в данном файле свой собственный код.

Байты 8 и 9 составляют так называемый код зоны местонахождения LAC (Location Area Code), то есть идентификатор последней географической зрны, в которой мобильный был отмечен. Как правило, эта зона достаточно обширна и включает значительное число сот одного и того же оператора.

Байт 10 (TMSI time, время) практически бесполезен в случае фазы 2, в то время как байт 11 описывает последнюю ситуацию, в которой находился мобильный по отношению к сети:

• 00 - наиболее распространенная ситуация, когда регистрация мобильного телефона была своевременно обновлена (updated) в последней соте его пребывания;• 01 - (not updated - регистрация не обновлена) может встретиться на новых картах или как следствие неудачной регистрации;• 02 - (PLMN not allowed) и 03 - (Location area not allowed) информируют о том, что регистрация мобильного ¦телефона не была разрешена, соответственно, либо в последней запрашиваемой сети, либо в последней зоне посещения;• 07 - (reserved) резервный.

Например, на карте, которая использовалась обычным образом, можно прочитать следующее:

2А F6 АВ 6Е 02 F8 01 12 С1 1Е 00

Карта, которой было отказано в регистрации в конкурирующей сети, может содержать:

FF FF FF FF 02 F8 01 FF FE 14 01

А просроченная карта может выдать следующее:

FF FF FF FF 02 F8 01 FF FE 00 03

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

«Забивка» файла LOCI карты оператора файлом, считанным на карте конкурента, часто приводит к тому, что на протяжении нескольких мгновений мобильный телефон воспроизводит имя сети, в которой обычно ему регистрироваться запрещено. Кроме того, если стереть список запрещенных сетей (FPLMN) и таким образом присвоить последнему байту значение 00, то это может привести к весьма интересным результатам.

По этому пути можно пойти еще дальше, если использовать так называемую SIM-карту для тестирования.

www.mobitelreview.ru

Локализация японских мобильных телефонов и планшетов

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

Что нам потребуется:

  1. Android Studio скачиваем здесь http://developer.android.com/sdk/index.html
  2. USB драйверы например для Sharp скачиваем здесь, для Fujitsu универсальный драйвер здесь, а выбрать тут.. USB драйверы для любого японского мобильного телефона или планшета можно скачать на сайтах производителей телефонов. Ссылки на сайты есть на странице каждого японского мобильного телефона или планшета.
  3. Скачать последнюю версию MoreLocale 2 на play.google.com

Особенностью Android 4.2 Jelly Bean является отсутствие опции "Developer Options" в настройках."Developer Options" включает в себя несколько фич, которые помогают разработчикам делать и тестировать приложения на девайсах, контролируя все процессы через ПК через ADB. Среди таких фичь есть и опция USB отладки, которая постоянно используется в различных туториалах по установке кастомных прошивок.

Чтобы вернуть "Developer Options" на Android 4.2 Jelly Bean необходимо:

  1. Перейти к "Settings" > "About phone". В версии Android 4.4.2 Путь чуть длиннее "Settings" >"Device managment"> "About phone".
  2. Семь раз нажать на опцию "Build number".

На этом собственно и все. После седьмого нажатия операционная система поздравит вас с тем, что вы стали разработчиком, а "Developer Options" появятся в настройках. 

Устанавливаем Android Studio, после установки запускаем программу и в выпадающем меню выбираем SDK Manager и запускаем его установку. Обратите внимание, чтобы стояла галочка напротив Platform-tools.

Включаем в планшете режим отладки по USB (Settings -> Developer options -> USB debugging) и подключаем телефон или планшет к ПК. Здесь есть еще один момент: если телефон или планшет подключен как камера, то драйвер для сдк не установится (pid устройства другой, отсутствует в списке драйвера). Переключаем в режим MTP.

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

 

Все дальнейшие действия проводятся в командной строке. Командная строка запускается с помощью cmd.exe и переходом в деректорию, где находится abd.

1. > cd \program files\Android\android-sdk\platform-tools\ (cd \program files\Android  -  путь может быть другим - куда разархивируете)

2. > adb shell

3. > pm grant jp.co.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION  (команда)

 

Затем с планшета запускаем программу Moreloсale2 и выбираем русский язык, для настроек шрифта нужно зайти в "Settings" >"language/Text/Input" > "Font settings". Выбрать предложенные шрифты или загрузить свои.

 

Первая публикация статьи 2014-02-17

Настройка интернета на японских мобильных телефонах Sharp, NEC, Sony, Fujitsu, Panasonic, Toshiba, NTT Docomo, SoftBank, Au KDDI, SIM Free

Установка приложений на японские Android-раскладушки Sharp Docomo SH-06G Aquos K-tai, Fujitsu Docomo F-05G Arrows K-tai и другие

www.e-gizmos.ru

Локализация японских мобильных телефонов и планшетов на примере планшета Sharp SH-08E Aquos PAD

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

Что нам потребуется:

  1. Android Studio скачиваем здесь http://developer.android.com/sdk/index.html
  2. USB драйверы например для Sharp скачиваем здесь, для Fujitsu универсальный драйвер здесь, а выбрать тут.. USB драйверы для любого японского мобильного телефона или планшета можно скачать на сайтах производителей телефонов. Ссылки на сайты есть на странице каждого японского мобильного телефона или планшета.
  3. Скачать последнюю версию MoreLocale 2 на play.google.com

Особенностью Android 4.2 Jelly Bean является отсутствие опции "Developer Options" в настройках."Developer Options" включает в себя несколько фич, которые помогают разработчикам делать и тестировать приложения на девайсах, контролируя все процессы через ПК через ADB. Среди таких фичь есть и опция USB отладки, которая постоянно используется в различных туториалах по установке кастомных прошивок.

Чтобы вернуть "Developer Options" на Android 4.2 Jelly Bean необходимо:

  1. Перейти к "Settings" > "About phone". В версии Android 4.4.2 Путь чуть длиннее "Settings" >"Device managment"> "About phone".
  2. Семь раз нажать на опцию "Build number".

На этом собственно и все. После седьмого нажатия операционная система поздравит вас с тем, что вы стали разработчиком, а "Developer Options" появятся в настройках. 

Устанавливаем Android Studio, после установки запускаем программу и в выпадающем меню выбираем SDK Manager и запускаем его установку. Обратите внимание, чтобы стояла галочка напротив Platform-tools.

Включаем в планшете режим отладки по USB (Settings -> Developer options -> USB debugging) и подключаем телефон или планшет к ПК. Здесь есть еще один момент: если телефон или планшет подключен как камера, то драйвер для сдк не установится (pid устройства другой, отсутствует в списке драйвера). Переключаем в режим MTP.

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

 

Все дальнейшие действия проводятся в командной строке. Командная строка запускается с помощью cmd.exe и переходом в деректорию, где находится abd.

1. > cd \program files\Android\android-sdk\platform-tools\ (cd \program files\Android  -  путь может быть другим - куда разархивируете)

2. > adb shell

3. > pm grant jp.co.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION  (команда)

 

Затем с планшета запускаем программу Moreloсale2 и выбираем русский язык, для настроек шрифта нужно зайти в "Settings" >"language/Text/Input" > "Font settings". Выбрать предложенные шрифты или загрузить свои.

 

Первая публикация статьи 2014-02-17

 

Установка приложений на японские Android-раскладушки Sharp Docomo SH-06G Aquos K-tai, Fujitsu Docomo F-05G Arrows K-tai и другие

Настройка интернета на японских мобильных телефонах Docomo Sharp, Fujitsu, NEC, Panasonic, Sony, Toshiba.

www.e-gizmos.ru

По следам мобильного телефона. Геолокация с помощью сотовой сети / Блог компании «МегаФон» / Хабр

В прошлый раз, когда мы рассказывали о приложении МегаФон Навигация и принципах его работы, мы упомянули еще несколько услуг, главной составляющей которых является определение координат и их интерпретация (Location-based services).

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

Теория
Включив ваш мобильный телефон или любое другое устройство, работающее в GSM-сети (Mobile station), вы запускаете огромный технологический процесс.

Первое, что делает ваше мобильное устройство (MS), это осуществляет поиск ближайших базовых станций (Base station, BS). Если быть точнее, то прослушивает эфир в поисках доступных сот. Телефон может прослушивать до 16 широковещательных каналов. Из их числа определяет 6, наиболее удовлетворяющих с точки зрения затрат энергии и качества сигнала. Но в один момент времени работать будет только с одной. У каждой из сот есть свой уникальный номер (CellID).

При этом все базовые станции (BS) объединены в группы. Как правило, принадлежность к группе определяется их местоположением (Location area), и чтобы базовые станции можно было идентифицировать, каждой группе присваивается уникальный номер — Location area code (LAC).

Вместе параметры LAC и CellID работают как уникальные идентификаторы базовой станции, на которой зарегистрировано и работает мобильное устройство. Именно используя эти параметры, Центр коммутации выбирает верное направление для отправки вызова в вашу сторону, иначе приходилось бы искать вас среди тысяч базовых станций. Кроме того, определяется сектор базовой станции (Cell Sector) и фиксируется время, за которое сигнал от мобильного устройства достигает базовой станции – это параметр Timing Advance. Благодаря этому известна не только принадлежность к базовой станции, но и удаленность от нее.

Определение положения абонента в сотовой сети.

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

Как направить звонок нужному абоненту?

Взаимодействие систем для определения позиции мобильного устройства. Номер телефона, который хранится в огромной базе номеров сотового оператора. Домашний регистр местоположения (Home location registry, HLR) содержит информацию обо всех абонентах, приписанных к нему. Найдя абонента в одной из HLR, мы перенаправляем вызов на связанный с ним Центр коммутации (Mobile switching centre, MSC), тот в свою очередь запрашивает информацию у Гостевого регистра местоположения (VLR), который содержит данные о последнем зарегистрированном CallID, LAC абонента. После чего контроллер базовых станций (Base station controller, BSC) связывается с базовыми станциями в рамках переданного LAC, и звонок направляется на нужную соту (CellID).

Практика
Благодаря тому, что работа сотовой связи неотрывно связана с определением местоположения, стали развиваться и геолокационные сервисы на основе GSM/UMTS-сети.

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

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

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

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

У нас есть возможность получить не только данные CellID базовой станции, на которую подключен абонент, но и данные «соседей» (соседние базовые станции), мы можем повысить точность определения используя триангуляцию – теперь зона, в которой находится абонент уже ограничивается не дальностью действия базовой станции, а симплексом между несколькими базовыми станциями (зачастую это треугольник, вершины которого заданы координатами базовых станций). Данный метод определения так же работает по запросу пользователя и, к примеру, используется в услуге Навигатор.

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

Пример использования услуги «Контроль кадров»

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

  • С заданной частой проверяют данные с базовых станций, чтобы увидеть, не зашел ли абонент в зону, которая выделена для мониторинга;
  • Уточняют данные геопозиции по запросу. Таким образом можно получить последнее местоположение абонента;
  • Строят маршрут передвижения абонентов на основе исторических данных;
  • Прогнозируют скопления и пути миграции абонентов на основе сохраненной истории.
На базе этой площадки, работает масса сервисов, например, Экстренные службы. При звонке по номеру 112, помимо общения с оператором и озвучивания ему возникшей сложности, также передается и географическая позиция звонящего. В этом случае оперативные службы могут действовать более точно и найти нуждающегося в помощи даже если связь потом была потеряна.

Возможно применение и обезличенных данных (без использования данных абонента), когда для анализа используется только географические координаты. Мы называем это Геопространственный анализ – агрегация информации о миграции и перемещении, скоплении абонентов. Получив подобную информацию, можно найти наиболее подходящее место для развития сети магазинов, офисов обслуживания или установки банкоматов. Но это не единственной применение, благодаря этим данным можно прогнозировать новые транспортные развязки, остановки общественного транспорта, социальные объекты: парки, прогулочные зоны и прочее.

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

В сервисе Знакомства, который встроен в приложение МегаФон-Навигация, мы также применяем только географическую позицию. Вы можете найти ближайших к вам абонентов, но единственное, что вы сможете узнать о них, это имена (nickname), которые пользователи задали самостоятельно.

Заключение
В целом для каждой задачи можно найти свой инструмент, который позволяет ее решить наилучшим образом. Возможно, у вас также появятся идеи для геолокационного сервиса, который будут использовать абоненты «МегаФона» или сотрудники вашей компании. Мы будем рады всем предложениям о сотрудничестве или запросам на доступ к API сервисам.

Все описанные сервисы разработаны и развиваются в компании «МегаЛабс».

habr.com

Как отслеживают по мобильному телефону? - Вопросы и ответы (FAQ) - Вопросы и ответы

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

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

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

Местоположение мобильного телефона оценивается путем сравнения посылаемых сигналов мобильным телефоном антенной башне.Новые мобильные телефоны оснащаются GPS (Global Positing System) навигаторами. GPS позволяет определять точное местоположение. Система отслеживания глобального позиционирования (GPS) использует триангуляцию для расчета местоположения мобильного телефона. Спутники и мобильный телефон используется в качестве ориентиров для этой цели. Система слежения GPS может не только предоставлять информацию о реальном местоположение, но и также предоставлять историю раннего перемещения мобильного телефона, так как использует GNSS.

GNSS (Глобальная Навигационная Спутниковая Система) сеть включает в себя ряд спутников, которые посылают сигналы, на анализ, чтобы определить местоположение мобильного телефона. Если система получает сильные сигналы от трех и более спутников, то местоположение рассчитывается точно. Если же сигналы слабые точное местоположение определить трудно. GPS и мобильный телефон это две возможности для успешного слежения.

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

У сотового оператора Мегафон есть тарифный план "Смешарики”. В котором предоставляется услуга "Маячок”. Тарифный план рассчитан для детей, чтобы родитель всегда мог получить информацию о местонахождение своего ребенка. Местонахождение происходит путем вычисления расстояния мобильного телефона к антенной башне. Точность вычисления от нескольких сотен метров до нескольких десятков километров. При этом есть ограничения для поиска местонахождения. Допускается поиск не более 5-ти мобильных устройств и при согласии искомого абонента.

Компания Google выпустила сервис Google Latitude. Google Latitude предоставляет пользователям подключившемся к сервису Google Latitude наблюдать за перемещением своих друзей в реальном времени. Здесь также все зависит от желания пользователей сервиса. Они могут запретить отслеживание своего местонахождения определенным пользователям либо для всех пользователей. Координаты могут определяться как на основе ближайших антенных башен, так и по GPS. Данный сервис абсолютно бесплатен. Плата взимается согласно тарифному плану за интернет трафик.

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

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

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

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

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

Скачать программу

imobile.ucoz.com

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

Я иногда путешествую по разным странам, и языковой барьер, довольно часто, становится серьезным препятствием для меня. И если в странах, где используются языки германской группы, я еще как то могу сориентироваться, то в таких странах как Китай, Израиль и арабские страны без сопровождающего, путешествие превращается в загадочный квест. Невозможно понять местное расписание автобусов/поездов/электричек, названия улиц в небольших городах очень редко есть на английском языке. А уж проблема с выбором, что бы поесть, из меню на непонятном языке вообще сродни ходьбы по минному полю. Так как я разработчик под iOS, я подумал, а почему бы не написать такое приложение: наводишь камеру на вывеску/расписание/меню и тут же получаешь перевод на русский.

Краткий поиск по App Store показал, что имеется всего одно или два подобных приложения, причем русский язык не входит в число поддерживаемых. Значит, путь открыт и, можно попробовать, написать такое приложение. Тут стоит оговориться, что разговор не идет о тех приложениях, которые фотографируют черный текст на белом листе бумаги и потом оцифровывают и переводят его. Таких приложений действительно вагон и маленькая тележка. Речь идет приложении, которое может выделить текст на естественном изображении, например на фотографии автобуса необходимо выделить текст на маршрутной табличке и перевести его, чтоб пользователь мог понять, куда идет этот автобус. Или актуальный для меня вопрос с меню, очень уж хочется знать, что ты заказываешь поесть.

Основная задача в приложении, это детектирование и локализация текста, а затем его выделение и бинаризация для «скармливания» в OCR, например tesseract. И если алгоритмы по обнаружению текста в сканированных документах уже давно известны и достигли 99% точности, то обнаружение текста произвольного размера на фотографиях до сих пор является актуальной областью исследований. Тем интереснее будет задача, подумал я и взялся изучать алгоритмы. Естественно, универсального алгоритма для нахождения любого текста на любом изображении не существует, обычно используется разные алгоритмы для разных задач плюс эвристические методы. Для начала, формализуем задачу: для наших целей необходимо найти текст, который достаточно контрастен с окружающим фоном, расположенный горизонтально, угол наклона не превышает 20 градусов, и он может быть написанный шрифтом разного размеров и цвета.

Просмотрев алгоритмы, я принялся изобретать велосипед взялся за реализацию. Решил писать все сам, без использования opencv, для более глубокого погружения в предмет. За основу взял, так называемый, edge based метод. И вот, что в итоге у меня получилось. В начале получаем изображение с камеры телефона в формате BGRA.

Переводим его в grayscale и строим гауссову пирамиду изображений. На каждом уровне пирамиды, будем находить текст определенной размерности. На самом низком уровне мы детектируем шрифты высотой, примерно, от k до 2*k- 1 пикселей, затем от 2*k до 4*k-1 и так далее. Вообще то надо было использовать 4 изображения в пирамиде, но мы помним, что в нашем распоряжении всего лишь iPhone, а не четырехядерный i7, по этому ограничимся 3-мя изображениями.

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

К выделенным оператором Собеля вертикальным границам, применим морфологическую операцию закрытия. По горизонтали на ширину шрифта, а по вертикали на 5. Полученный результат опять отфильтровываем. Пропускаем только то что укладывается в высоту искомого нами шрифта от k до 2*k- 1, и длиной не менее 3-х символов. Получаем вот такой результат.

Проделываем те же операции со следующим уровнем пирамиды.

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

Ниже приведены примеры работы алгоритма на более сложных изображениях, видно что еще требуется некоторая доработка. Время обработки изображения 640х480 на iPhone 5, порядка 0.3 сек.

P.S. На вопросы отвечу в коментах, про грамматические ошибки пишите в личку.

habr.com

Локализация мобильных приложений iOS и Android

Наша компания приобрела значительный опыт локализации мобильных приложений для iOS, Android и Windows Phone. Не ограничивайте ваши приложения рынком всего лишь одной страны, завоевывайте мир, а все трудности перевода и адаптации мы возьмем на себя.

Полный цикл локализации приложений

Мы предоставляем нашим клиентам полный цикл локализации и сопутствующих услуг. У нас вы можете заказать:

  • локализацию приложений более чем в 23 языковых парах;
  • локализационное тестирование приложений на iOS и Android;
  • профессиональное озвучивание игровых приложений и видеороликов;
  • создание и перевод маркетинговых текстов;
  • перевод всех дополнительных элементов приложений: уведомлений, всплывающих подсказок и т. п.

Напишите нам, и мы ответим вам в течение 5 минут

Сделать заказ

Сопутствующие услуги

 

www.allcorrect.ru