0

私はこのコードを持っています:

int main()
{
    string file = "stuff.jpg";

    Mat img = imread(file);
    if (img.empty())
    {
        printf("EMPTY");
        system("PAUSE");
        return -1;
    }
    imshow("display", img );

    waitKey(0);
    return 0;
}

このプログラムをビジュアルで起動すると、imgが空になりますが、コマンドラインから実行するか、ダブルクリックするだけで正常に動作します。ビジュアルラインとコマンドラインの両方で実行したときの上部のパスは同じです。何故ですか?

4

1 に答える 1

4

Visual Studio から実行するときの作業ディレクトリは、プロジェクト プロパティによって制御されます。

Configuration Properties | Debugging | Working Directory

"stuff.jpg"適切に設定するか、ファイル名だけでなく完全な絶対パスを指定してください。

于 2012-11-24T00:08:45.863 に答える