Smorodov 579 Жалоба Опубликовано September 30, 2010 я перепутал номера кнопок я имел в виду на 1 посмотрие в отладке imgпосле строчки img := cvLoadImage(pchar(OpenPictureDialog1.FileName),1); не равен случаем nil ? если так, то у вас изображение не грузится, разбирайтесь с путями. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Racer 1 Жалоба Опубликовано October 1, 2010 с путями все ок, в Image грузиться же. а img и вправду nil Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Racer 1 Жалоба Опубликовано October 3, 2010 в общем, дело обстоит так. Я нашел еще хедеры для OPenCV. на форуме embercadero. начал их пробовать- cvloadimage. пришлось правда еще скачать там dll`лок, но это оффтоп. что 1 хедеры что 2 выдают одну и туже ошибку при загрузке картинки и по тому же адресу. подозреваю что что то не так с opencv. какие будут версии? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Racer 1 Жалоба Опубликовано October 3, 2010 более того... cvCerateImage не дает никакой ошибки и работает Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Racer 1 Жалоба Опубликовано October 5, 2010 неужели никто меня не спасет? 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
andrew smirnov 0 Жалоба Опубликовано October 6, 2010 еще днем отправил обоим. а вот и пример файлы грузим в формате bmpCompVisionForum.rar Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Racer 1 Жалоба Опубликовано October 6, 2010 большое спасибо, но надо было еще положить Exceptionlog у меня не работает. когда загрузил картинку и она отобразилась, появились три мессаги с надписью не могу загрузить Хаары. а потом вот так как на картинке. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано October 6, 2010 большое спасибо, но надо было еще положить Exceptionlog у меня не работает. когда загрузил картинку и она отобразилась, появились три мессаги с надписью не могу загрузить Хаары. а потом вот так как на картинке. Если у Вас Debug и Release конфигурации, то вроде exe файлы там должны лежать по разным папкам, вот туда и покидайте каскады (.xml). Или забросьте их в какую то фиксированную директорию и нацельте прогу на нее (пропишите пути явно). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Racer 1 Жалоба Опубликовано October 7, 2010 Спасибо, действительно заработало. Странно, у меня за 2 года практики не было ни 1 случая такого с путями. И кстати нет никаких AV. странно. буду разбираться в общем. большое спасибо. Только можно как то натренировать каскады лучше? а то на моих фотках что я тестил в 2 раза больше лиц находит - думает что на обоях тоже Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Racer 1 Жалоба Опубликовано October 7, 2010 Я все понял.. надо полный путь передавать и не будет тогда никаких ошибок. сделал доработку в своем проекте- все запахало. спасибо большое за все. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Parallelogramus 0 Жалоба Опубликовано October 9, 2010 Забыл поблагодарить) Спасибо! у меня тоже всё теперь работает) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlCapone 0 Жалоба Опубликовано November 6, 2010 Пришёл к выводу, что надо создать дополнительные типы записей и указатели на них для каждого конкретного вида возвращаемых функциями cvHoughCircles и cvHoughLines данных. Например, для cvHoughLines2 и CV_HOUGH_STANDARD запись будет содержать два поля типа single. Затем получить запись через PRecord(cvGetSeqElem(Results, i)) и использовать как стандартную запись. А что это за функция такая PRecord и где она валяется? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
CornersKir 0 Жалоба Опубликовано November 9, 2010 А что это за функция такая PRecord и где она валяется? Указатель на запись с требуемыми Вам данными. Для ранее приведённого примера с cvHoughLines2 и CV_HOUGH_STANDARD: Объявление: TLineRecord = record Rho: single; Theta: single; end; PLineRecord = ^TLineRecord; Использование: var LineRecord: PLineRecord; Lines: pCvSeq; Rho: single; Theta: single; i: integer; for i := 0 to Lines.total - 1 do begin LineRecord := PLineRecord(cvGetSeqElem(Lines, i)); Rho := LineRecord^.Rho; Theta := LineRecord^.Theta; // обработка end; Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Gvision 0 Жалоба Опубликовано February 8, 2011 У меня следующая проблема. Использую Opencv 2.1 в VS2008. В этом Opencv нету cvhaartrainig.lib, взял его с предыдущей страницы форума для версии 2.0. Прописал его в свойствах проекта, все запускается и работает нормально. Но когда пытаюсь запустить приложение на другом компе, то пишет "приложение не было запущено, поскольку оно некорректно настроено". Вместе с exe взял все dll из папки bin. Причем точно выяснил, что если не подключать cvhaartrainig.lib, то на другом компе запускается. Кто подскажет что еще требуется взять вместе с exe в этом случае? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано February 8, 2011 Тебе надо скомпилировать cvhaartraining без использования crt dll. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Gvision 0 Жалоба Опубликовано February 8, 2011 как это сделать? это где пункт библиотека времени выполнения? у меня там стоит 'Многопоточная DLL (/MD)', если указать 'Многопоточная (/MT)', то пишет, что это не совместимо с режимом '/clr' Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано February 8, 2011 Да, надо указывать просто /MT. При компиляции /MD программа требует наличия в системе установленных библиотек C++. Ты наверняка встречал случай, когда при установке некоторых программ доставлялась Microsoftf C++ redistributable library. Я полностью перекомпилировал OpenCV, выставляя на всех проектах /MT - компилировалась нормально. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Gvision 0 Жалоба Опубликовано February 8, 2011 Мне удалось выяснить, что это какой-то глюк с версиями crt был в visual studio 2008 и видно в той библиотеке, которую я взял он проявился. Я сам полностью скомпилировал все lib файлы как описано в http://asadujjaman.wordpress.com/2010/02/15/building-opencv-with-microsoft-visual-studio/ и все стало работать на обоих компах. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BriGaDir 0 Жалоба Опубликовано February 14, 2011 Работаю в C++Builder 6, написал простенькую программку ... теперь необходимо заставить её рабоать на других компьютерах, где не установлен билдер ... Попробовал перекомпилить проек как я это обычно делаю, но увы, программа после компиляции попросила какой-то IlmThread.bll ... где его взять? Вот что я делал что бы получить экзешник способный работать без билдера: Project\Options\ Вкладка Packages- снять галку Build with runtime packages Вкладка Linker- снять галку Use dynamic RTL Вкладка CodeGuard- снять галку CodeGuard Validation ОК Выполнить команду Project\Build Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BriGaDir 0 Жалоба Опубликовано February 28, 2011 Чекбокс Build with runtimre packages тоже должем быть установлен, иначе требует ilmthread.dll (тоже не знаю где взять). А как быть, если мне надо, что бы чекбок не был установлен??? Еть у кого соображения на эту тему??? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Halloween 0 Жалоба Опубликовано March 4, 2011 Есть изображение с разорванной линией! Как можно восстановить его в Builder 6,используя фильтр Калмана,который хорошо описан в OpenCV.Пример изображения представлен на рисунке. Фильтр Калмана прогнозирует следующее положение объекта,в нашем случае линии. Кто сталкивался или знает как решить эту проблему,видел похожие исходники помогите! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано March 4, 2011 У тебя есть только изображение или массив с координатами точек тоже имеется? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Halloween 0 Жалоба Опубликовано March 5, 2011 Есть только изображение,в этом-то и загвоздка!Я так понимаю,что массив с координатами точек надо получить в ходе выполнения задачи. Мне бы хотя бы разобраться как одну линию соединить,дальше уже буду сам додумывать! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
CooperX 0 Жалоба Опубликовано March 7, 2011 Добрый день! Установил всё как надо, работало. Но как только начал использовать тип cv::Mat появилась ошибка линковки: "[Linker Error] Unresolved external 'cv::fastFree(void *)' referenced from ..." Помогите разобраться. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано March 10, 2011 Ну, раз изображение бинарное и состоит из одних линий, то можно попиксельно читать и получить цепочку значений. Тут ничего сложного. А после уже искать, конец какой цепочки подходит к концу другой. Далее фильтр Кальмана - примеры на форуме есть. На каком этапе ты остановился? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах