2015-11-23 4 views
2

У меня возникла проблема с записью более одной переменной Mat в файл XML с использованием файлового архива в opencv. Я использую VC++ 2012, и я могу написать каждый Mat в отдельном XML-файле без каких-либо проблем. но когда я пытаюсь написать второй объект Mat, он генерирует исключение как: Необработанное исключение в 0x000007FEFD06B3DD в test.exe: исключение Microsoft C++: cv :: Исключение в ячейке памяти 0x00000000002ABE70., записывающий более одной переменной Mat в файл XML с использованием filestorage в opencv

Я нашел эту тему один раз здесь, но ответы мне не помогли. часть кода, trows исключение как:

FileStorage fs("c:\\test.xml", FileStorage::WRITE); 
Mat cameraMatrix = (Mat_<double>(3,3) << 1000, 0, 320, 0, 1000, 240, 0, 0, 1); 
Mat distCoeffs = (Mat_<double>(5,1) << 0.1, 0.01, -0.001, 0, 0); 
fs<<"cameraMatrix" << cameraMatrix ; 
fs<< "distCoeffs" << distCoeffs; 
fs.release(); 

Исключение брошено на второй фс < <:

fs<< "distCoeffs" << distCoeffs; 

могли бы вы помочь мне с этим. Я беру этот код из образца в opencv документе.

+0

Запустите отладку и получите сообщение об ошибке. Вы уверены, что вы связываете OpenCV, построенную с компилятором vc11? – Miki

+0

Я уже запускаю его в режиме отладки, и я использую много других opencv-функций без каких-либо проблем, поэтому я уверен, что построено правильно. Также я упомянул об ошибке в своем основном сообщении. – MoMika

+0

Код работает нормально. Хотя вы, вероятно, захотите изменить папку назначения, так как у вас, вероятно, нет доступа на запись к «C:». Попробуйте просто «FileStorage fs (« test.xml », FileStorage :: WRITE);', файл будет находиться в каталоге проекта. Тот факт, что некоторые функции уже работают, не является гарантией того, что вы правильно связаны. Чтобы быть уверенным, можете ли вы показать свои «Библиотечные каталоги»? – Miki

ответ

0

Проблема решена окончательно. В свойствах конфигурации проекта> Linker> input> дополнительные зависимости. Я установил opencv_world300.lib, в то время как это должно было быть opencv_world300d.lib. Изменив, что проблема решена сейчас

Смежные вопросы