我是学图像匹配的,因此须要装contrib库,因此用两篇博客来记录的的安装过程,一来分享 二来作笔记ios
可是千万记得,要沉下心装opencv,不要看一半嫌麻烦就溜了,我第一次装的时候也受到不少挫折,可是我发现很大部分缘由是由于我历来没有一篇从头看到尾,我老是闲麻烦web
以为我写得好给个赞呗,不按期更新个人学习笔记和代码哦chrome
1.下载opencv
去opencv官网下载:https://opencv.org/releases/
最好用chrome下载,用国产的有时会卡
http://tech.sina.com.cn/down/
新浪下载的googlechrome没有毒
下载完打开是个exe文件,傻瓜式操做就行了,我直接放G盘了
搞定了应该和我是同样的,有这个文件夹
************************
2.配置环境变量(要装contrib库的能够停在第一步了,装了下面的浪费时间,看我另外一篇博客)缓存
在原来的路径上加分号(英文) ;G:\opencv\build\x64\vc15\bin (找你刚刚opencv装好的路径)
而后将这个目录(G:\opencv\build\x64\vc15\bin)下面的opencv_world410.dll和opencv_world410d.dll文件复制到C:\Windows\SysWOW64;opencv_ffmpeg410_64.dll复制到C:\Windows\System32
(410意思是4.1.0版本)
**
3.VS设置
我通常都是用C++控制台项目
打开vs的属性管理器
***
而后这样 *****************************
改下面包含目录 ,库目录,附加依赖项的内容
包含目录里面放 G:\opencv\build\include\opencv2(选本身的目录)
*****************G:\opencv\build\include
库目录里面放 G:\opencv\build\x64\vc15\lib
附加依赖项里面放 opencv_world410d.lib (410是4.1.0版本的意思)
而后选择加载Misrcosoft的服务,不加载运行程序会报错缺乏dll
************************************
在此目录下缓存符号,对着改本身的路径,先创个文件夹叫Misrcosoft.pdb
到这里就应该能够了,试试程序,记得跑x64的编译器,由于咱们刚刚都是在x64上调试的
svg
#include <iostream> #include <stdio.h> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace cv; using namespace std; int main() { Mat img = imread("D:\\Desktop\\捕获.png"); imshow("原图", img); //显示原图 //-------------------------------------------------腐蚀------------------------------------------------------- Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); //返回特定参数 Mat img2; erode(img, img2, element); //调用参数来腐蚀 imshow("腐蚀", img2); //显示效果图 //-------------------------------------------------滤波-------------------------------------------------------- Mat img3; blur(img, img3, Size(7, 7)); imshow("模糊", img3); //-------------------------------------------------化线-------------------------------------------------------- Mat img4, edge, imgt; img4.create(img.size(), img.type()); //先保留原img的type和size cvtColor(img, imgt, COLOR_BGR2GRAY); //imgt是img的灰度图像 imshow("灰度图", imgt); blur(imgt, edge, Size(3,3)); //滤波 imshow("灰度后滤波", edge); Canny(edge, edge, 3, 9, 3); imshow("化线", edge); //------------------------------------------------------------------------------------------------------------- waitKey(0); return 0; }
完工,第一次跑要加载比较多dll,耐心等等
学习