我目前正在測試一個圖像分割程序,需要以某種方式在主程序中傳遞測試圖像文件,如下所示。一直在尋找。我將非常感謝如何使用或替換測試映像文件中的「argv」並因此生成輸出文件的示例。非常感謝您的指導!使用「argv」傳遞圖像文件C++
http://cs.brown.edu/~pff/segment/[ ^]
int main(int argc, char **argv) {
if (argc != 6) {
fprintf(stderr, "usage: %s sigma k min input(ppm) output(ppm)\n", argv[0]);
return 1;
}
float sigma = atof(argv[1]);
float k = atof(argv[2]);
int min_size = atoi(argv[3]);
printf("loading input image.\n");
image<rgb> *input = loadPPM(argv[4]);
printf("processing\n");
int num_ccs;
image<rgb> *seg = segment_image(input, sigma, k, min_size, &num_ccs);
savePPM(seg, argv[5]);
printf("got %d components\n", num_ccs);
printf("done! uff...thats hard work.\n");
return 0;
}
我很好奇,你嘗試過什麼,以及它是如何失敗的。 –
如果文件路徑中有空格,應將其與引號一起使用。例如:''path \ to \ file name.ext「' – SHR
Rob Kennedy,我嘗試用圖像文件路徑和argv [5]替換argv [4]與輸出圖像的名稱。我還用示例中給出的值替換了sigma,k和min_size。但是在運行該程序時,這並沒有產生任何輸出圖像文件。它從來沒有得到階段:printf(「得到%d組件\ n」,num_ccs); printf(「done!uff ... that's hard work。\ n」); –