Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Max Patsy
курлык-курлык
85 / 94 / 8
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
1

Lex&Yacc + iOS

18.02.2013, 13:45. Просмотров 873. Ответов 6
Метки нет (Все метки)

Привет, у меня небольшой вопрос, не особо надеюсь что ктото поможеть, но все же

https://github.com/MaxPatsy/iORC

мой проект на гите, в нем есть картинка с выражением алгебраическим, тессерактом распознается и я хотел прикрутить парсер Lex&Yacc, но что-то не получается
duplicate symbol _main in:
/Users/patsy/Library/Developer/Xcode/DerivedData/iORC-hewjlonjpjobcdfjzjsnqrdtzlvm/Build/Intermediates/iORC.build/Debug-iphonesimulator/iORC.build/Objects-normal/i386/y.tab.o
/Users/patsy/Library/Developer/Xcode/DerivedData/iORC-hewjlonjpjobcdfjzjsnqrdtzlvm/Build/Intermediates/iORC.build/Debug-iphonesimulator/iORC.build/Objects-normal/i386/main.o
ld: 1 duplicate symbol for architecture i386

пример есть еще такой https://github.com/dgkris/ObjectiveC-STL-Parser

кому не в лом - посмотрите

Добавлено через 7 часов 59 минут
я функцию main закоментил, в файле яка, скомпилилось, но не работает, что-то я неправильно делаю

Добавлено через 3 часа 9 минут
Ребята еще небольшая проблема, как то я неккоректно работаю с камерой видимо



падает на конструкции CGSize size = [image size]; в методе - (void)setOrcImageUIImage *)image

я гит обновил, там свежий проект

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
- (void)processOrcAt:(UIImage *)image {
    [self setOrcImage:image];
    
    tess->Recognize(NULL);
    char *utf8 = tess->GetUTF8Text();
    [self performSelectorOnMainThread:@selector(orcProcessingFinished:)
                           withObject:[NSString stringWithUTF8String:utf8]
                        waitUntilDone:NO];
}
 
- (void)orcProcessingFinished:(NSString *)result
{
  /*  arithmetic *parser = [[arithmetic alloc] init];
    [parser addParseDelegate:self];
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL), ^(void) {
                [parser parseString:result];
    });*/
    
    [[[UIAlertView alloc] initWithTitle:@""
                                message:[NSString stringWithFormat:@"Recognized:\n%@", result]
                               delegate:nil
                      cancelButtonTitle:nil
                      otherButtonTitles:@"OK", nil] show];
}
 
- (void)setOrcImage:(UIImage *)image {
    free(pixels);
    
    CGSize size = [image size];
    int width = size.width;
    int height = size.height;
    
    if (width <= 0 || height <= 0) {
        return;
    }
    
    // the pixels will be painted to this array
    pixels = (uint32_t *) malloc(width * height * sizeof(uint32_t));
    // clear the pixels so any transparency is preserved
    memset(pixels, 0, width * height * sizeof(uint32_t));
    
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    
    //create a context with rgba pixels
    CGContextRef context = CGBitmapContextCreate(pixels, width, height, 8, width * sizeof(uint32_t), colorSpace, kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedLast);
    
    // paint the bitmap to our context which will fill in the pixels array
    CGContextDrawImage(context, CGRectMake(0, 0, width, height), [image CGImage]);
    
    // we're done with the context and color space
    CGContextRelease(context);
    CGColorSpaceRelease(colorSpace);
   
    tess->SetImage((const unsigned char *) pixels, width, height, sizeof(uint32_t), width * sizeof(uint32_t));
}
#pragma mark -
#pragma mark UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker
        didFinishPickingImage:(UIImage *)image
                  editingInfo:(NSDictionary *)editingInfo
{
    
    [picker dismissModalViewControllerAnimated:YES];
    //UIImage *newImage = [self resizeImage:image];
    self.prHUD = [[MBProgressHUD alloc] initWithView:self.view];
    self.prHUD.labelText = @"loading";
    [self.view addSubview:self.prHUD];
    [self.prHUD showWhileExecuting:@selector(processOrcAt:) onTarget:self withObject:image animated:YES];
   
}
Добавлено через 1 час 20 минут
не получается в общем картинку захватить, пока не могу решить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2013, 13:45
Ответы с готовыми решениями:

Android & Ios
привет всем ! како разниса кагда делаеш игру или апликасю длиа Android &amp; Ios

База данных для iOS & Android
Доброго времени суток! Заранее прошу прощения если тема уже была, честно...

IOS
Последняя версия IOS?

Эмулировать IOS с пк
Здравствуйте, не уверен что написал в правильную ветку. Но все таки хотел бы...

GameCenter и iOS 7
Доброго времени суток! Пытаюсь разработать приложение и прикрутить к нему...

6
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
19.02.2013, 11:23 2
Посмотрел, пока мыслей кроме потоков нет. Но с 4.0 UIImage вроде thread-safe...
1
Max Patsy
курлык-курлык
85 / 94 / 8
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
19.02.2013, 13:36  [ТС] 3
я исправил.
осталось доразобраться как с анализатором работать.

по поводу камеры - потом выложу что не так было
0
Max Patsy
курлык-курлык
85 / 94 / 8
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
22.02.2013, 17:25  [ТС] 4
Привет ребята. Что-то я закопался с openCV + tesseract. В приложении работает кнопка math, выпоняется поиск контуров по тестовой картинке(на которой только две цифры - 5 и 4). Проблема в том, что никак не могу передать эти контуры в tesseract. пробовал создавать картинку методом cvCreateImage и передавать её. пробовал передавать исходную картинку и методом SetRectangle устанавливать распознаваемый прямоугольник. нихрена не работает. может делать что не так. Если у кого был опыт работы с этими вещами посмотрите. уже как-то бросать не хочется, стало делом принципа.

проект обновил https://github.com/MaxPatsy/iORC
0
Max Patsy
курлык-курлык
85 / 94 / 8
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
26.02.2013, 12:15  [ТС] 5
версию на гите обновил, пока там используется только тессеракт. более менее распознает числа. надо дальше копаться в настройках. изучить методы трешхолд, гаусблур и так далее.
1
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
26.02.2013, 12:40 6
Мониторю тему, будет что интересное - пишите!
1
Max Patsy
курлык-курлык
85 / 94 / 8
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
20.05.2013, 16:08  [ТС] 7
Доделал подсчет выражения с +-/* () лекс и як не прикрутил - написал рекурсивный спуск
0
20.05.2013, 16:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2013, 16:08

Обзор ios 7
Вчера обновил ось и икс код. Теперь всю неделю занимаемся портированием...

Язык Си и iOS
Добрый день! Подскажите пожалуйста, можно ли зная только язык Си писать iOS и...

IOS И Postgresql
Значит есть клиентское приложение написанное на языке java, серверная часть и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru