我确实有一个使用指针作为参数创建的函数。
该参数将用于最后保存图像。
每当我想用所需的参数调用该函数时,我都希望保存的图像文件具有指定的名称。我告诉你如何:
void SaveImage(IplImage *img)
{
...
cvSaveImage("C:/img.png", img);
...
}
当调用函数:SaveImage(image1)时,我想在我的C:/上有一个图像,其名称为image.png
你能帮我吗?
最佳答案
显然,您不能用实际上唯一可行的答案来回答这个问题,因为您会被低估...
所以,我改一下我的答案:
您需要将两个变量传递给SaveImage:
void SaveImage(const char *name, IplImage *img)
{
...
cvSameImage(name, img);
}
然后,您的调用代码将必须产生正确的名称,例如:
SaveImage("c:\image.png", image);
SaveImage("c:\other.png", other);
现在,当然,如果您真正想要的只是一个唯一的名称,而不是一个能反射(reflect)代码中变量名称的名称,那么还有许多其他可能性,例如使用包含序列号,随机数,
tmpnam()
或其他类似方案。