函数cvSaveImage中的动态名称

dynamic name in function cvSaveImage

本文关键字:动态 cvSaveImage 函数      更新时间:2023-10-16

我有代码输入图像名称,如IMG01。

 ostringstream input;
    input << z << ".jpg";
    string filename = input.str();
    const char* filename1 = filename.c_str(); [image processing here...]

然后,我想保存使用cvSaveImage名称bwIMG01.jpg的图像结果。经验:

cvSaveImage("bwIMG01.jpg", imgBW);

我的问题是编写更改每个图像的输出名称。我已经尝试了下面的代码,但它是不工作....

char savedImg [30];
string savedCode = "bw";
savedImg = savedCode+filename;
cvSaveImage(savedImg, imgBiner);

任何想法?

改为:

cvSaveImage(string(savedCode+filename).c_str(), imgBiner);

建议:因为你使用的是c++,你应该使用新的c++ API来代替,它会直接工作:

imwrite(savedCode+filename, imgBiner);

请使用c++ api和方便的cv::format()代替:

cv::Mat imBW;
for ( int i=0; i<30; i++ )
    imwrite( format("bwIMG%02d.jpg", i), imgBW);

再次,请避免使用旧的c-api,它不再开发