Еще одно письмо вызывает нарушение прав доступа в imread

По какой-то причине этот код вызывает нарушение прав доступа при втором чтении, но не при первом.

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;

int main(int argc, char **argv)
{
Mat mat1, mat2;

char imgname1[255]="cise_StackD.tif";
mat1 = imread( imgname1, CV_LOAD_IMAGE_GRAYSCALE);

char imgname2[255]="ecise_StackD.tif";
mat2 = imread( imgname2, CV_LOAD_IMAGE_GRAYSCALE);

return 0;
}

Точное сообщение об ошибке во время выполнения: «Необработанное исключение в 0x61f437ef (msvcr100d.dll) в MLMVNroThrust.exe: 0xC0000005: расположение чтения нарушения доступа 0xcccccccc.» Идентичный код с одинаковыми видимыми настройками проекта приемлемо работает на другом ПК. Изображения являются идентичными копиями.

Я использую готовые двоичные файлы OpenCV 2.4.3; проекты также настроены на использование CUDA, но я вычеркнул весь код CUDA, чтобы изолировать проблему.

Что делает это нарушение прав доступа и как от него избавиться?

Благодарю.

0

Решение

в этот пост на форумах OpenCV, это происходит при использовании Visual C ++ 2008 с путем OpenCV, предназначенным для 2010 года (OPENCV_AV был установлен в «% OPENCV_ROOT% \ x86 \ vc10»).

Я исправил эту проблему на своем лабораторном ПК (для OPENCV_AV теперь установлено значение «% OPENCV_ROOT% \ x86 \ vc9»), которое было настроено в Visual C ++ 2010 для использования предыдущими исследователями.

Спасибо всем, кто откликнулся!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]