安装和基本问题参看以下博客:
下载:
https://opencv.org/
https://opencv.org/opencv-3-2.html
直接点第二个链接就可以
安装:
安装请参考以下两条博客,第一个安装的版本比较多,第二个讲得简洁有条理
http://blog.youkuaiyun.com/column/details/opencv-tutorial.html
https://www.cnblogs.com/linshuhe/p/5764394.html
问题:
配置好之后按照以下源程序(引自http://blog.youkuaiyun.com/column/details/opencv-tutorial.html)
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 读入一张图片(游戏原画)
Mat img=imread("pic.jpg");
// 创建一个名为 "游戏原画"窗口
namedWindow("游戏原画");
// 在窗口中显示游戏原画
imshow("游戏原画",img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
}
怎么也搞不定,图片读入为空,提示指针越界。然后检查了好几遍都没发现配置有什么问题。然后读了下面这个博客:
Opencv3.2 + VS2015环境配置(VS2015以下版本需要自己编译dll)
http://blog.youkuaiyun.com/zmdsjtu/article/details/54743431
运行其中的程序发现正常运行。因此验证了我的想法,即配置没有问题,可能问题出在路径上或其他方面,然后看到了以下博客:
OpenCV中imread失败cvLoadImage成功
http://blog.youkuaiyun.com/mylaf/article/details/53428007
opencv中imread这个函数不能正确读入图片的解决
http://blog.youkuaiyun.com/lien0906/article/details/42672329
使用cvLoadImage总算正常读取图片了。成功运行的程序如下:
#include <opencv2\opencv.hpp>
#include<iostream>
using namespace cv;
void main()
{
IplImage *src;
src = cvLoadImage("E:\\lena.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下
cvNamedWindow("lena", CV_WINDOW_AUTOSIZE);
cvShowImage("lena", src);
cvWaitKey(0);
cvDestroyWindow("lena");
cvReleaseImage(&src);
}
调试及配置均为debugx64,使用opencv给的x64vc14,自己运行需要改图片路径。
想自己编译的可以参考:
VS2017 + cmake 3.7 + opencv 3.2 编译
http://blog.youkuaiyun.com/ivandark/article/details/70020489?ABstrategy=codes_snippets_optimize_v4
以及:
VS2015编译32位Opencv310(动态库+静态库,文末有下载链接)
http://blog.youkuaiyun.com/zmdsjtu/article/details/52335977
其他问题参考:
OpenCV问题集锦,图片显示不出来,WaitKey(0), imread()不能读图片,未经处理的异常,等问题集合
http://blog.youkuaiyun.com/wangyaninglm/article/details/38958915
OpenCV3.2.0+VS2017环境配置与常见问题(巨细坑爹版)
http://blog.youkuaiyun.com/qq_36285879/article/details/71909067