我使用的功能如下:
int cvSaveImage(const char* filename,const CvArr* image);
此函数需要const char*
作为第一个参数。例如:
cvSaveImage("ImageName",img)
是对的。
但是,我想代替'姓名'在" ImageName"中,int
变量值。
我尝试过这样的事情,但根本没有工作,它崩溃了:
int num = 10;
char buffer[1024];
sprintf(buffer,"Image%d",num);
cvSaveImage((const char *)buffer,img);
有什么想法吗?
答案 0 :(得分:2)
您必须为文件指定扩展名。这是openCV解决格式写入的唯一方法.OpenCV抛出一个异常,这很可能是你的程序崩溃的原因。
另外,如果您正在开发一个新项目,请考虑转到openCV的C ++界面。它更结构化,功能更多,也值得推荐。
答案 1 :(得分:0)
如果您正在使用字符串,此功能应该可以解决问题:
#include <sstream>
#include <string>
std::string IntToString(int N)
{
ostringstream ss("");
ss << N;
return ss.str();
}