iOS: сравните кусочек изображения с библиотекой настроек - PullRequest
3 голосов
/ 02 июня 2011

Я в основном пытаюсь понять, как взять фрагмент изображения, скажем, снимок экрана домашнего экрана iPhone, вырезать первый значок и сравнить его с набором изображений в библиотеке.Любая помощь о том, с чего начать?

Ответы [ 2 ]

3 голосов
/ 02 июня 2011

Я не программист iPhone, но могу предложить несколько вещей:

  • Функция обнаружения SURF , реализованная в OpenCV, должна помочь вам в этом
  • Есть хорошая статья об использовании OpenCV в коде Objective-C .

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

Я не разработчик iOS, поэтому я не знаю, есть либиблиотека изображений, которая поставляется вместе с SDK, или если есть бесплатная библиотека с открытым исходным кодом для базовой обработки изображений.Тем не менее, это должно быть тривиально для реализации:

например,

- (int)difference((int)topPixel,(int)bottomPixel)
{
    return abs(topPixel-bottomPixel);
}

Примечание: Синтаксис может быть неправильным:)

HTH

0 голосов
/ 23 июня 2011

Это может не помочь сделать снимок экрана домашнего экрана iOS ... Но в этих статьях показано, как делать снимки из приложения UIKit:

https://developer.apple.com/library/prerelease/ios/#qa/qa1703/_index.html

https://developer.apple.com/library/prerelease/ios/#qa/qa1714/_index.html

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

Надеюсь, это поможет!

...