ninja 0 Жалоба Опубликовано May 22, 2012 Добрый день уважаемые форумчане. Помогите разобраться с проблемой: пытаюсь реализовать алгоритм SURF с использованием CUDA, но появляется непонятная ошибка. У меня ноутбук ASUS UL80VT видеокарта Geforce G210M 512 мб, OpenCV 2.4, Windows 7 64, Visual Studio 2008. Для сборки использовал Cmake 2.8.8 собралось вроде без проблем. Проект брал из примера стандартный surf_keypoint_matcher_gpu появляется такая ошибка: OpenCV Error: Assertion failed (img_cols - min_size >= 0) in unknown function, file ..\..\opencv\opencv\modules\gpu\src\surf.cpp, line 129 Кусочек кода: GpuMat img1, img2; img1.upload(imread(object_filename,CV_LOAD_IMAGE_GRAYSCALE)); img2.upload(imread(scene_filename,CV_LOAD_IMAGE_GRAYSCALE)); cv::gpu::printShortCudaDeviceInfo(cv::gpu::getDevice()); SURF_GPU surf; GpuMat keypoints1GPU, keypoints2GPU; GpuMat descriptors1GPU, descriptors2GPU; surf(img1, GpuMat(), keypoints1GPU, descriptors1GPU); surf(img2, GpuMat(), keypoints2GPU, descriptors2GPU); ошибка появляется на строчке: surf(img1, GpuMat(), keypoints1GPU, descriptors1GPU); Помогите пожалуйста разобраться, уже 3й день мучаюсь.... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 22, 2012 А экзешник из примеров работает? Может изображения не грузит? Выведите их в окошки. Через пару часов дострою OpenCV и проверю работает-ли у меня. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ninja 0 Жалоба Опубликовано May 22, 2012 Запускаю примеры, вроде работают отлично... и hog_gpu работает и surf_keypoint_matcher_gpu.exe тоже, когда вставляю код из примера в visual studio ничего не меняя, компилирую, запускаю откомпилированный пример появляется эта ошибка... собирал версию Release, причем несколько раз... немогу понять что не так... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано May 22, 2012 проверьте типы которые передаются ,а так же под дебагом посмотрите не пустые ли они и одинаковых ли размеров. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ninja 0 Жалоба Опубликовано May 22, 2012 Вроде не пустые, ниже скриншоты, дело в том что я беру стандартный пример и его копирую в новый пустой проект, компиляция проходит успешно, но вот когда запускаю появляется ошибка о которой писал выше... никак не пойму что не так, думал уже драйвера старые, но нет самые последние и примеры все работают... уже несколько раз пересобирал проекты, единственное на что я думаю, но сомневаюсь, это то, что когда собирался проект в visual studio 3 раза появлялось окошко содержимое точно не помню, нажать - да перезапуск, нет или отмена, я всегда нажимал отмена... потом появлялось окно и я нажимал перезапуск... но весь проект собрался без единой ошибки... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 22, 2012 У меня все пашет, проект генерю своей чудной генерилкой проектов Кидаете в любую директорию, и CMAKE-ом генерите проект. ЗЫ: Когда собирал OpenCV со всем соглашался OpenCV_GPU_SURF.rar Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ninja 0 Жалоба Опубликовано May 22, 2012 Спасибо большущее что помогаете, сгенерировал cmake'om, запустил ALL_BUILD открылась visual studio, нажал построение, и сразу появились ошибки: скриншот ниже... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 22, 2012 Это сверху есть? #include "opencv2/core/core.hpp" #include "opencv2/features2d/features2d.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/gpu/gpu.hpp" using namespace std; using namespace cv; using namespace cv::gpu;[/code] Я просто скопировал файл из примеров и сгенерировал по нему проект, все собралось с первого раза. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ninja 0 Жалоба Опубликовано May 22, 2012 ага, есть... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 22, 2012 У меня BF_Matcher объявлен в gpu.hpp (1222 строка) ////////////////////////////////// BruteForceMatcher ////////////////////////////////// class CV_EXPORTS BFMatcher_GPU { public: explicit BFMatcher_GPU(int norm = cv::NORM_L2); [/code] Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ninja 0 Жалоба Опубликовано May 22, 2012 вот это да.... а у меня нету... ниже мой gpu.hpp, у Вас OpenCV2.4???gpu.hpp Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 22, 2012 Да, сегодня построил из SVN. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ninja 0 Жалоба Опубликовано May 22, 2012 а можете если не трудно описать пошагово процесс установки из SVN? какие утилиты нужны и т.д. я делал следующим образом: 1 скачал файл http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.0/ - openCV2.4.exe 2 затем распаковал 3 сгенерировал cmake'om 4 собрал visual studio Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 22, 2012 Первая страница из pdf-ки из этой темы: http://www.compvision.ru/forum/index.php?showtopic=456 только адрес репозитория у них поменялся, теперь такой: http://code.opencv.org/svn/opencv Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ninja 0 Жалоба Опубликовано May 22, 2012 спасибо большое, сейчас буду пробывать... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано May 23, 2012 когда собирался проект в visual studio 3 раза появлялось окошко содержимое точно не помню, нажать - да перезапуск, нет или отмена, я всегда нажимал отмена... у меня было похожее когда я пытался собрать версию опенцв помоему из свн и если собирать со всеми тестами то во-первых ооочень долго, а во вторых смаке что то постоянно меняет и перезапускает и вроде бы даже какие то ошибки в конце вылезли, а без тестов собралось нормально. я так понял там что то связанное с кудой было. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ninja 0 Жалоба Опубликовано May 24, 2012 Добрый вечер, возник такой вопрос, дело в том что я впервые столкнулся с CUDA и не могу понять некоторые вещи: у меня ноутбук ASUS UL80VT видеокарты там 2: Intel GMA и Nvidia Geforce G210M драйвера стоят на обе видеокарты и все отлично работает, не зная что нужно чтобы работать с CUDA скачал все с сайта http://developer.nvidia.com/cuda-downloads Toolkit, драйвера и SDK, и установил, после этого перестали переключаться видеокарты, но проект с OpenCV собрался без проблем, но работал как-то через раз, пришлось установить стандартные драйвера с диска. Подскажите пожалуйста, что нужно для того чтобы собрать проект OpenCV с поддержкой CUDA? Может нужно установить toolkit версии пораньше? http://developer.nvidia.com/cuda-toolkit-archive и нужно ли обновить драйвер видеокарты? у меня стоит версии 186, на сайте nvidia последний версии 301, мою видеокарту он поддерживает, но технологию Hyprid Power нет, драйверы пораньше из архива тоже не поддерживают Hyprid Power. Помогите пожалуйста разобраться. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 24, 2012 Лучше скачивать Toolkit, Driver и SDK, которые идут вместе в пакете, иначе будут всякие глюки. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах