Форум программистов, компьютерный форум CyberForum.ru

Lex&Yacc + iOS - Программирование iOS/iPhone

Восстановить пароль Регистрация
 
Max Patsy
курлык-курлык
 Аватар для Max Patsy
84 / 93 / 3
Регистрация: 26.11.2009
Сообщений: 394
Записей в блоге: 1
18.02.2013, 13:45     Lex&Yacc + iOS #1
Привет, у меня небольшой вопрос, не особо надеюсь что ктото поможеть, но все же

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 минут
не получается в общем картинку захватить, пока не могу решить
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2013, 13:45     Lex&Yacc + iOS
Посмотрите здесь:

iOS SDK
iOs Book
IOS - начало
ios календарь
Обзор ios 7
Objective-C iOS 7 и xcode 4
GameCenter и iOS 7
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
19.02.2013, 11:23     Lex&Yacc + iOS #2
Посмотрел, пока мыслей кроме потоков нет. Но с 4.0 UIImage вроде thread-safe...
Max Patsy
курлык-курлык
 Аватар для Max Patsy
84 / 93 / 3
Регистрация: 26.11.2009
Сообщений: 394
Записей в блоге: 1
19.02.2013, 13:36  [ТС]     Lex&Yacc + iOS #3
я исправил.
осталось доразобраться как с анализатором работать.

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

проект обновил https://github.com/MaxPatsy/iORC
Max Patsy
курлык-курлык
 Аватар для Max Patsy
84 / 93 / 3
Регистрация: 26.11.2009
Сообщений: 394
Записей в блоге: 1
26.02.2013, 12:15  [ТС]     Lex&Yacc + iOS #5
версию на гите обновил, пока там используется только тессеракт. более менее распознает числа. надо дальше копаться в настройках. изучить методы трешхолд, гаусблур и так далее.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
26.02.2013, 12:40     Lex&Yacc + iOS #6
Мониторю тему, будет что интересное - пишите!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2013, 16:08     Lex&Yacc + iOS
Еще ссылки по теме:

IOS И Postgresql
Эмулировать IOS с пк
База данных для iOS & Android
Приложение на IOS
IOS

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

Или воспользуйтесь поиском по форуму:
Max Patsy
курлык-курлык
 Аватар для Max Patsy
84 / 93 / 3
Регистрация: 26.11.2009
Сообщений: 394
Записей в блоге: 1
20.05.2013, 16:08  [ТС]     Lex&Yacc + iOS #7
Доделал подсчет выражения с +-/* () лекс и як не прикрутил - написал рекурсивный спуск
Yandex
Объявления
20.05.2013, 16:08     Lex&Yacc + iOS
Ответ Создать тему
Опции темы

Текущее время: 01:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru