利用NuGet安装了Opencv3.1的环境,版本信息如下:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="opencv3.1" version="1.0" targetFramework="native" />
<package id="opencv3.1.redist" version="1.0" targetFramework="native" />
</packages>
如下调用摄像头代码可以运行:
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
using namespace cv;
int main()
{
VideoCapture cap(0);
Mat frame;
while (1)
{
cap >> frame;
imshow("调用摄像头", frame);
waitKey(30);
}
return 0;
}
但是读入图片就出错了,代码如下:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
//VideoCapture cap(0);
Mat frame=cv::imread("1.jpg");
imshow("", frame);
waitKey(-1);
return 0;
}
运行情况见下图:
无论是Debug或者Release,读入的图片都为空,且路径没有任何问题……
之后换成了X64就可以了…
昨天因为这个捣鼓了半天,初步确定为NuGet包的问题…
但X64好像能正常运行,所以就先这样了……这真的是第一次遇到X64可以运行但X86不能运行的情况…
祝Opencv使用愉快~