Форум программистов, компьютерный форум, киберфорум
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
курлык-курлык
 Аватар для Max Patsy
87 / 96 / 8
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1

Lex&Yacc + iOS

18.02.2013, 13:45. Показов 1549. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2013, 13:45
Ответы с готовыми решениями:

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

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

Lex и Yacc
Дано задание: Транслятор произвольных логических выражений в ДНФ Разработать язык описания логических выражений , позволяющий : ...

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

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

проект обновил https://github.com/MaxPatsy/iORC
0
курлык-курлык
 Аватар для Max Patsy
87 / 96 / 8
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
26.02.2013, 12:15  [ТС]
версию на гите обновил, пока там используется только тессеракт. более менее распознает числа. надо дальше копаться в настройках. изучить методы трешхолд, гаусблур и так далее.
1
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
26.02.2013, 12:40
Мониторю тему, будет что интересное - пишите!
1
курлык-курлык
 Аватар для Max Patsy
87 / 96 / 8
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
20.05.2013, 16:08  [ТС]
Доделал подсчет выражения с +-/* () лекс и як не прикрутил - написал рекурсивный спуск
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2013, 16:08
Помогаю со студенческими работами здесь

Lex и YACC
Здравствуйте дорогие форумчане! Есть специалисты, разбирающиеся в LEX и YACC? Нужна ваша помощь в ЛС. Спасибо!!

Lex/yacc
Доброго дня!!! Сижу разбираюсь с питоном и с lex/yacc есть куча примеров. Вот одни низ них:...

Lex и Yacc
Привет всем!=) может кто-нибудь кинуть литературу по Lex и Yacc, уж очень надо=) заранее благодарен=)

Синтаксическая ошибка (Lex, Yacc)
Доброго времени суток. Пишу калькулятор при помощи Lex/Yacc. Сам счет происходит правильно, но после него вылезает синтаксическая ошибка. В...

Lex и YACC Конечные автоматы.
Пожалуйста, приведите простейшие примеры кода (любых) работоспособных конечных автоматов на LEX и YACC. И напишите, что они делают. ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru