我有输入图像名称的代码,如IMG01。
ostringstream input;
input << z << ".jpg";
string filename = input.str();
const char* filename1 = filename.c_str(); [image processing here...]
然后,我想使用cvSaveImage
保存名为bwIMG01.jpg的图像结果。 EXP:
cvSaveImage("bwIMG01.jpg", imgBW);
我的问题是写更改每个图像的输出名称。我已尝试过以下代码,但这不起作用....
char savedImg [30];
string savedCode = "bw";
savedImg = savedCode+filename;
cvSaveImage(savedImg, imgBiner);
任何想法?
答案 0 :(得分:0)
将其更改为:
cvSaveImage(string(savedCode+filename).c_str(), imgBiner);
建议:既然您正在使用C ++,那么您应该使用new C++ API代替它,它将直接起作用:
imwrite(savedCode+filename, imgBiner);
答案 1 :(得分:0)
请使用c ++ api和方便的cv :: format()代替:
cv::Mat imBW;
for ( int i=0; i<30; i++ )
imwrite( format("bwIMG%02d.jpg", i), imgBW);
再次,请避免旧的c-api,它不再发达。