我确实有一个使用指针作为参数创建的函数。
该参数将用于最后保存图像。
每当我想用所需的参数调用该函数时,我都希望保存的图像文件具有指定的名称。我告诉你如何:

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()或其他类似方案。

10-06 16:01