1

Visual Studio 2013 と opencv を使用しています。画像を読み取って表示する簡単なコードを実行します。Donloads ファイルからプロジェクトのリソース ファイルに画像を追加します。以下のコードを実行すると、image.data空になります。

  #include "stdafx.h"
   #include <opencv2\core\core.hpp>
  #include <opencv2\highgui\highgui.hpp>
 #include <opencv2\opencv.hpp>


int _tmain(int argc, _TCHAR* argv[])
{

cv::Mat image;
image = cv::imread("im.png", CV_LOAD_IMAGE_COLOR);   // Read the file

if (!image.data)                              // Check for invalid input
{
    std::cout << "Could not open or find the image" << std::endl;
    return -1;
}

cv::namedWindow("Display window", cv::WINDOW_AUTOSIZE);// Create a window for display.
imshow("Display window", image);                   // Show our image inside it.

cv::waitKey(0);                                          // Wait for a keystroke in the window
return 0;

}

4

2 に答える 2

1

これは、VS の既定の作業ディレクトリがvcxprojファイルの場所 (値$(ProjectDir)) であるためです。

VS を介して (つまり、F5キーで) アプリケーションを開始する場合は、プロジェクトのデバッグ パラメータを上書きする必要があります。たとえば、アプリケーションの作業ディレクトリを、リンカーが作成するプログラム (exe) の場所に設定するには、 の値をProject menu -> Properties -> Configuration properties -> Debugging -> Working directoryto に設定します$(OutDir)

于 2015-02-16T08:09:40.330 に答える