интеграция cvblobslib в opencv

#image-processing #opencv #computer-vision

#обработка изображений #opencv #компьютерное зрение

Вопрос:

здесь я только что запустил свой fyp, и целые числа будут в opencv. Мне нужно было векторизовать изображение, и для этого я решил использовать cvblobslib. Я загрузил его, и он был успешно собран, но когда я использую его в своем проекте, появляется ошибка ссылки, в которой говорится, что «не удалось открыть cvblobslib.obj», точная строка вставлена ниже

фатальная ошибка LNK1104: не удается открыть файл ‘E:FaizanmyWorkmoCapblobslibDebugcvblobslib.obj ‘

из решений, которые я нашел в сети и попробовал в своем проекте, — удалить все пробелы в path, выполнить сборку в режиме выпуска, а не в режиме отладки, но проблема не была решена. дело в том, что указанный файл не создается вместе с другими файлами при сборке cvblobslib, т.е. Его нет в указанной папке.

любое тело, пожалуйста, укажите решение

Комментарии:

1. FWIW Мне не очень повезло с cvblobslib, поэтому я закончил тем, что написал свою собственную процедуру CCL

Ответ №1:

Для чего именно вы пытаетесь использовать cvblobslib? Я также пытался использовать это, но безуспешно. Я обнаружил, что OpenCV обладает множеством тех же возможностей. Например, вы можете использовать cvCountours для обнаружения «больших двоичных объектов» и фильтрации их по области.

(ps. я попытался оставить это в качестве комментария. вам нужно определенное количество повторений для этого?)

Комментарии:

1. Мне это нужно для векторизации краев изображения. после прочтения нескольких статей и поиска в Интернете я узнал, что это может быть очень полезно и эффективно, поскольку моя система будет работать в режиме реального времени, поэтому мне нужна эффективная реализация…

Ответ №2:

cvBlobsLib был разработан с использованием Microsoft Visual C (6.0) и также может быть использован в .NET. версии Linux, которую можно загрузить здесь.

cvBlobsLib распространяется в статической библиотеке (.lib). Чтобы использовать его, требуется, чтобы вы создали .файл библиотеки и позже использовать этот файл библиотеки в желаемом проекте. Для создания .файл библиотеки, просто откройте проект MSVC и создайте его (отладочную или релизную версию).

Чтобы создать проект, в котором будет использоваться библиотека, выполните следующие действия (MSVC 6.0):

В Project/Settings/C /Preprocessor/Additional Include directories добавление каталога, в котором хранится библиотека больших двоичных объектов, добавьте каталог Project/Settings/Link/Input/Additional library path , в котором хранится библиотека больших двоичных объектов, а в Object/Library modules добавление файла cvblobslib.lib включите файл BlobResult.h , в котором вы хотите использовать переменные больших двоичных объектов. В Project/Settings/C /Precompiled Headers разделе выберите Not use precompiled headers ПРИМЕЧАНИЕ: убедитесь, что в проекте, в котором используется cvblobslib.lib, библиотеки среды выполнения MFC не смешаны:

Проверьте Project->Settings->C/C ->Code Generation->Use run-time library свой проект и установите для него значение Debug Multithreaded DLL (отладочная версия) или Multithreaded DLL (релизная версия). Проверьте в «Проект-> Настройки-> Общие», как он использует MFC. Это должно быть «Использовать MFC в общей DLL». ПРИМЕЧАНИЕ: Библиотека может быть скомпилирована и использована в .NET с помощью этих шагов, но параметры меню могут немного отличаться

ПРИМЕЧАНИЕ 2: В .ЧИСТАЯ версия, наборы символов должны быть равны в .библиотека и в проекте. [OpenCV yahoo group: сообщение 35500]

ПРИМЕЧАНИЕ 3. cvBlobsLib может приводить к ошибкам при сборке с OpenCV версии v2.2 и далее. Попробуйте закомментировать эту строку в файле BlobLibraryConfiguration.h :

 #define _SHOW_ERRORS
  

ПРИМЕЧАНИЕ 4. Если вы используете новое cv::Mat для своих изображений вместо старого IplImage , вы можете легко конвертировать между ними, например, следуя инструкции OpenCV C .