#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 .