Перейти к содержимому
Compvision.ru
FormatCft

Как прикрутить OpenCV к билдеру?

Recommended Posts

я перепутал номера кнопок :)

я имел в виду на 1

посмотрие в отладке imgпосле строчки

img := cvLoadImage(pchar(OpenPictureDialog1.FileName),1);

не равен случаем nil ?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

с путями все ок, в Image грузиться же.

а img и вправду nil

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в общем, дело обстоит так.

Я нашел еще хедеры для OPenCV. на форуме embercadero.

начал их пробовать- cvloadimage. пришлось правда еще скачать там dll`лок, но это оффтоп.

что 1 хедеры что 2 выдают одну и туже ошибку при загрузке картинки и по тому же адресу.

подозреваю что что то не так с opencv. какие будут версии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

более того... cvCerateImage не дает никакой ошибки и работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

неужели никто меня не спасет?

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

большое спасибо, но надо было еще положить Exceptionlog :)

у меня не работает.

когда загрузил картинку и она отобразилась, появились три мессаги с надписью не могу загрузить Хаары.

а потом вот так как на картинке.

post-1221-1286389879_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
большое спасибо, но надо было еще положить Exceptionlog :)

у меня не работает.

когда загрузил картинку и она отобразилась, появились три мессаги с надписью не могу загрузить Хаары.

а потом вот так как на картинке.

Если у Вас Debug и Release конфигурации, то вроде exe файлы там должны лежать по разным папкам, вот туда и покидайте каскады (.xml). Или забросьте их в какую то фиксированную директорию и нацельте прогу на нее (пропишите пути явно).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, действительно заработало. Странно, у меня за 2 года практики не было ни 1 случая такого с путями.

И кстати нет никаких AV. странно. буду разбираться в общем. большое спасибо.

Только можно как то натренировать каскады лучше? а то на моих фотках что я тестил в 2 раза больше лиц находит - думает что на обоях тоже :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я все понял..

надо полный путь передавать и не будет тогда никаких ошибок. сделал доработку в своем проекте- все запахало.

спасибо большое за все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Пришёл к выводу, что надо создать дополнительные типы записей и указатели на них для каждого конкретного вида возвращаемых функциями cvHoughCircles и cvHoughLines данных. Например, для cvHoughLines2 и CV_HOUGH_STANDARD запись будет содержать два поля типа single. Затем получить запись через PRecord(cvGetSeqElem(Results, i)) и использовать как стандартную запись.

А что это за функция такая PRecord и где она валяется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
А что это за функция такая 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;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня следующая проблема. Использую Opencv 2.1 в VS2008. В этом Opencv нету cvhaartrainig.lib, взял его с предыдущей страницы форума для версии 2.0. Прописал его в свойствах проекта, все запускается и работает нормально. Но когда пытаюсь запустить приложение на другом компе, то пишет "приложение не было запущено, поскольку оно некорректно настроено". Вместе с exe взял все dll из папки bin. Причем точно выяснил, что если не подключать cvhaartrainig.lib, то на другом компе запускается. Кто подскажет что еще требуется взять вместе с exe в этом случае?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тебе надо скомпилировать cvhaartraining без использования crt dll.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

как это сделать? это где пункт библиотека времени выполнения? у меня там стоит 'Многопоточная DLL (/MD)', если указать 'Многопоточная (/MT)', то пишет, что это не совместимо с режимом '/clr'

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, надо указывать просто /MT. При компиляции /MD программа требует наличия в системе установленных библиотек C++. Ты наверняка встречал случай, когда при установке некоторых программ доставлялась Microsoftf C++ redistributable library.

Я полностью перекомпилировал OpenCV, выставляя на всех проектах /MT - компилировалась нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мне удалось выяснить, что это какой-то глюк с версиями crt был в visual studio 2008 и видно в той библиотеке, которую я взял он проявился. Я сам полностью скомпилировал все lib файлы как описано в http://asadujjaman.wordpress.com/2010/02/15/building-opencv-with-microsoft-visual-studio/ и все стало работать на обоих компах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Работаю в C++Builder 6, написал простенькую программку ... теперь необходимо заставить её рабоать на других компьютерах, где не установлен билдер ...

Попробовал перекомпилить проек как я это обычно делаю, но увы, программа после компиляции попросила какой-то IlmThread.bll ... где его взять?

Вот что я делал что бы получить экзешник способный работать без билдера:

Project\Options\

Вкладка Packages- снять галку Build with runtime packages

Вкладка Linker- снять галку Use dynamic RTL

Вкладка CodeGuard- снять галку CodeGuard Validation

ОК

Выполнить команду Project\Build

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Чекбокс Build with runtimre packages тоже должем быть установлен, иначе требует ilmthread.dll (тоже не знаю где взять).

А как быть, если мне надо, что бы чекбок не был установлен??? Еть у кого соображения на эту тему???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть изображение с разорванной линией!

Как можно восстановить его в Builder 6,используя фильтр Калмана,который хорошо описан в OpenCV.Пример изображения представлен на рисунке.

Фильтр Калмана прогнозирует следующее положение объекта,в нашем случае линии.

post-1323-0-40442200-1299252316_thumb.jp

Кто сталкивался или знает как решить эту проблему,видел похожие исходники помогите!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У тебя есть только изображение или массив с координатами точек тоже имеется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Мне бы хотя бы разобраться как одну линию соединить,дальше уже буду сам додумывать!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день! Установил всё как надо, работало. Но как только начал использовать тип cv::Mat появилась ошибка линковки:

"[Linker Error] Unresolved external 'cv::fastFree(void *)' referenced from ..." Помогите разобраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну, раз изображение бинарное и состоит из одних линий, то можно попиксельно читать и получить цепочку значений. Тут ничего сложного.

А после уже искать, конец какой цепочки подходит к концу другой. Далее фильтр Кальмана - примеры на форуме есть. На каком этапе ты остановился?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×