所以我试图在visual studio 2013上做一些图像处理并写了一段代码。当我使用内置的本地Windows调试器来运行代码时,代码在我的项目文件夹中工作并生成输出文件。但是,当我运行' .exe'文件,由相同的代码通过visual studio 2013构建,在cmd中使用相同的参数,我无法找到任何输出文件。根据速度,' .exe'文件应该正在运行,但它只是没有产生任何东西.....会发生什么......有助于赞赏......
下面显示的代码......它只是调用其他函数并保存输出。
#include "saliency/saliency.h"
#include <cstdio>
#include <iostream>
#include <string>
int main( int argc, char * argv[] ) {
if (argc < 2) {
printf("Usage: %s image\n", argv[0] );
return -1;
}
Mat im = imread( argv[1] );
Saliency saliency;
Mat_<float> sal = saliency.saliency( im );
double adaptive_T = 2.0 * sum( sal )[0] / (sal.cols*sal.rows);
while (sum( sal > adaptive_T )[0] == 0)
adaptive_T /= 1.2;
printf(argv[1]);
std::string a (argv[1]);
std::string b ("\\");
unsigned found = a.find_last_of(b);
std::string c = a.substr(found+1);
std::string d = ("saliency_");
std::string e = d + c;
//imshow( "im", im );
//imshow( "sal", sal );
imwrite(e, sal*255);
//imshow( "T", sal > adaptive_T );
waitKey();
return 0;
}
更新: 我在C:\ Windows \ SysWOW64找到输出文件....任何人都知道为什么它会在那里保存?