1

在编译 OpenCV 的源代码并配置 Windows 7 和 VS2010 以正确链接库后,我能够编译以下代码:

#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;
int main()
{
    Mat im = imread("C:\projects\cvtest3\lena.jpg"); // this *is* the proper path, I'm sure

    if (im.empty()) 
    {

        cout << "Cannot load image!" << endl;
                while (true){}
        return -1;
    }
    imshow("Image", im);
    waitKey(0);
}

即使正确指定了路径,我也无法获取此代码来显示 lena 图像。这里的代码有什么问题吗?

虽然代码可以编译,但这是构建时的完整输出:

'cvtest3.exe': Loaded 'C:\projects\cvtest3\Debug\cvtest3.exe', Symbols loaded.
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Users\antonio\Documents\opencv_build_32bits\install\bin\opencv_core249d.dll', Symbols loaded.
'cvtest3.exe': Loaded 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\cudart32_50_35.dll', Binary was not built with debug information.
'cvtest3.exe': Loaded 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\npp32_50_35.dll', Binary was not built with debug information.
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Users\antonio\Documents\opencv_build_32bits\install\bin\opencv_highgui249d.dll', Symbols loaded.
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\avifil32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\winmm.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\msacm32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\msvfw32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\shell32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\avicap32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file
'cvtest3.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0x2028) has exited with code -1073741510 (0xc000013a).
4

1 回答 1

3

试试这个代码:

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace std;
using namespace cv;

int main()
{
  Mat image = imread("C:\\projects\\cvtest3\\lena.jpg");
  if(image.empty())
    return -1;
  imshow("TEST",image);
  waitKey();

  return 0;
}
  1. 尝试使用 2.4.3 的最新 opencv
  2. 链接适当的库
  3. 正确添加包含路径
  4. 将bin文件夹的路径添加到环境变量路径中
于 2013-02-13T00:28:28.127 回答