作为一名C++初学者,我目前面临一个问题,即使代码非常简单,我也无法解决.我一直在寻找互联网上的答案,但没有一个适用于我的问题.
我目前正在使用OpenCV 2.4.8在VS2013下使用C++编写基本SVM.我能够处理相同大小的图像,指定代码开头的固定高度和宽度.
现在,我正在尝试:打开不同大小的图像,将它们调整到一定的较小尺寸,并将之前的代码应用于现在已调整大小的数据集.就那么简单.
这是我的代码的开头:
#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(){
Run Code Online (Sandbox Code Playgroud)
输入参数是:
int Nb_Data_Class_1 = 10;
int Nb_Data_Class_0 = 5;
int Height_Zone = 200;
int Width_Zone = 200;
Run Code Online (Sandbox Code Playgroud)
所以我将所有文件的大小调整为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);
Run Code Online (Sandbox Code Playgroud)
对于标记为{1}的类的每个文件 - 它们都被命名为Tree01,Tree02等. - 我打开并调整大小. …