0

ポインターを引数として作成した関数があります。その引数は、最後に画像を保存するために使用されます。その関数を目的のパラメーターで呼び出すたびに、保存された画像ファイルが指定された名前になるようにします。方法を示します:

void SaveImage(IplImage *img)
{
...
cvSaveImage("C:/img.png", img);
...
}

関数 SaveImage(image1) を呼び出すとき、C:/ に image.png という名前の画像が必要です

それを手伝ってもらえますか?

4

1 に答える 1

2

どうやら、実際に実行可能な唯一の回答でこの質問に回答することはできません。

だから、私は私の答えを言い換えます:

SaveImage に 2 つの変数を渡す必要があります。

void SaveImage(const char *name, IplImage *img)
{
   ...
   cvSameImage(name, img);
}

次に、呼び出しコードは、次のような正しい名前を生成する必要があります。

SaveImage("c:\image.png", image);

SaveImage("c:\other.png", other);

もちろん、コード内の変数の名前を反映する名前ではなく、実際に一意の名前が必要な場合は、シリアル番号を含むフォーマットされた文字列を使用するなど、他の多くの可能性があります。乱数、tmpnam()または他の同様のスキーム。

于 2013-03-11T11:28:06.847 に答える