В OpenCV и VS 2015 выдано исключение: нулевой указатель из imread

Я получаю некоторые ошибки нулевого указателя при выполнении версии выпуска некоторого кода обработки изображений, который я написал на этой неделе. Прошло много времени с тех пор, как я работал с C / C ++, поэтому я в замешательстве. Я работаю с OpenCV 3.1 в сообществе VS 2015, и мой код без проблем компилируется и выполняется в среде отладки. Однако, когда я запускаю его после компиляции в среде Release, я получаю нулевые ошибки ptr в самом начале.

#include "stdafx.h"#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include "opencv2/imgcodecs.hpp"#include <iostream>

using namespace cv;
using namespace std;

Я почти уверен, что это исключение из самых первых строк.

int main(int argc, char* argv[])
{
// reading in both tif files
Mat bg = imread(argv[1], 1);
Mat rad_film = imread(argv[2], 1);

Я получаю ошибку

Необработанное исключение: нарушение прав на чтение.

это был nullptr.

По какой-то причине кажется, что он читает пустое изображение / матрицу, но я понятия не имею, почему, тем более, что в среде отладки проблем нет.

Отладка также указывает на этот метод в классе Mat как источник проблемы

inline void Mat::release()
{
if( u && CV_XADD(&u->refcount, -1) == 1 )
deallocate();
u = NULL;
datastart = dataend = datalimit = data = 0;
for(int i = 0; i < dims; i++)
size.p[i] = 0;
}

Конкретно это дает &ты и «это» как вопросы. Я не уверен, как это интерпретировать.

Оба изображения, которые я обрабатываю, являются файлами .tif. Я очень новичок в OpenCV и Visual Studio, и хотя на этой неделе я столкнулся с некоторой путаницей, это первая проблема, в которой я действительно потерян. Любая помощь очень ценится!

Изменить: библиотеки, на которые я ссылаюсь как для выпуска, так и для отладки:

Что касается библиотек, я использую следующее для выпуска и отладки:

'opencv_calib3d310d.lib'
'opencv_core310d.lib'
'opencv_features2d310d.lib'
'opencv_flann310d.lib'
'opencv_highgui310d.lib'
'opencv_imgcodecs310d.lib'
'opencv_imgproc310d.lib'
opencv_ml310d.lib
opencv_objdetect310d.lib
opencv_photo310d.lib
opencv_shape310d.lib
opencv_stitching310d.lib
opencv_superres310d.lib
opencv_video310d.lib
opencv_videoio310d.lib
opencv_videostab310d.lib`

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector