C ++, OpenCV: утверждение не удалось изменить размер
Как новичок в C ++, я в настоящее время сталкиваюсь с проблемой, которую не могу решить, даже если код довольно прост. Я искалответы по всему интернету, но ни одна не была применима к моей проблеме.
В настоящее время я пишу основные SVM с C ++, под VS2013, используя OpenCV 2.4.8. Я мог работать с изображениями одинакового размера, указав фиксированную высоту и ширину в начале моего кода.
Теперь я пытаюсь: открыть изображения разных размеров, изменить их размер до определенного меньшего размера и применить предыдущий код к уже измененному набору данных. Просто как тот.
Вот начало моего кода:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/ml/ml.hpp>
#include <iostream>
#include <math.h>
#include <fstream>
#include <string>
#include <sstream>
#include <windows.h>
using namespace cv;
using namespace std;
int main(){
Входные параметры:
int Nb_Data_Class_1 = 10;
int Nb_Data_Class_0 = 5;
int Height_Zone = 200;
int Width_Zone = 200;
поэтому я изменю размеры всех моих файлов до формата 200x200.
string Path = "C:\\Users\\....";
string Format = ".jpg";
int Nb_Files = Nb_Data_Class_1 + Nb_Data_Class_0;
Mat TrainingMat(Nb_Files, Zone_Image, CV_32FC1);
Mat TrainingLabels(Nb_Files, 1, CV_32FC1);
Для каждого файла класса с меткой {1} - все они названы Tree01, Tree02 и т. Д. - я открываю и изменяю размер.
for (int i = 0; i < Nb_Data_Class_1; ++i)
{
stringstream ss;
ss << Path << "\\Tree0" << i + 1 << Format;
Mat Image = cv::imread(ss.str(), 0);
resize(Image, Image, Size(Width_Zone, Height_Zone));}
Вещи отлично работали без последней строчки. У меня был массив Mat, заполненный 0-t0-255 числами. Теперь я получаю следующую ошибку:
OpenCV Error: Assertion failed <ssize.area<> >0> in cv::resize,
file C:\builds\2-4-PackSlave-win32-vc12-shared\opencv\modules\imgproc\serc\imgwarp.cpp, line 1824
В чем может быть проблема ? Я подумал, что, возможно, OpenCV неправильно открывал файлы; но в таком случае, как все могло работать раньше? Все еще интересно.
Любая помощь приветствуется ! Заранее спасибо.