计算机视觉系列教程 (一)视觉概述与opencv在VS端的配置

计算机视觉系列教程 (一)    视觉概述与opencv在VS端的配置

正好一个朋友要学cv,我也把这段时间学过的一些算法总结一下,可供没有视觉基础但是有志于从事视觉算法工作者的一个参考吧,欢迎大家交流指正。


(1)视觉概述


计算机视觉是什么?

       在我的理解里,普遍的计算机视觉算法其实就是一个模拟人眼识别的结果,注意我说的,只是结果。计算机视觉和图像处理有着密不可分的联系。为什么在这里我要说是结果,人眼在大脑里担任着处理图像和认识事物特征的功能,人眼能够认识事物更多是因为他的视觉神经细胞的处理机制,但是几乎市面上大多数都是利用一些拟合的数学模型或者算法来约束使得程序可以跑得和人眼识别的结果相似,可也有少数算法是利用了人眼模型的,这些算法大多都比较出名,而且性能很好,比如CNN(卷积神经网络),还有就是双目视觉之类的一些算法。我们所要学习的自然也是模拟人眼的结果而非先学过程,所以想要建立与人眼识别度接近的模型,数学基础固然重要,早有人认为数学 哲学是与大自然密不可分的,所以要接近自然,必要精通数学。


计算机视觉能干什么?

        无非就是对计算机视觉里面的一个分类,首先是二维视觉:滤波 ,角点寻找,角点匹配,跟踪,物体识别,模式识别,图像分割,当然涉及到计算机图形学的仿射变换,数学基础有 高等数学、矩阵论、 概率论 、数值分析

三维视觉:除了二维视觉的分析方法,还有标定 测距 视差图 点云 面片 最终还是为了三维重建或是三维测距 当然HOLOLENS这样的三维AR技术肯定需要对三维视觉研究非常深的研究员(大神勿喷) 涉及数学知识 射影几何 等


算法是支撑计算机视觉的基础,所以奉劝大家在学习时一定要自己实现一遍算法,而不是调用API之类的

!!投机取巧 一定自食其果



(2)OPENCV在VS上的配置

介绍一下opencv在windows下的配置


第一步 下载 opencv32位 windows版 个人推荐用3.0版本 支持vs2012和vs2013。

如果是更新的版本 请下载opencv3.1.


第二步 打开系统属性





第三步 高级系统设置--环境变量---




第四步 在系统变量下 新建---OPENCV     路径是  你的opencv安装路径文件夹下的build文件夹


编辑Path变量 没有就新建一个

加入下图地址



第五步 打开vs 我的是2012版本 新建一个c++空项目 源文件夹里面添加一个CPP文件 命名随便


第六步 打开属性管理器(如果在下面的选项卡中找不到 请到视图--其他窗口--属性管理器中打开 并拖到下面方便下一次使用)




第七步 右击DEBUG 添加新项目 名字改为dubug_PropertySheet.props





第八步 打开VC++目录 在包含目录里面添加以下路径 比如我的路径是 D:\workAPP\opencv

则添加

D:\workAPP\opencv\build\include\opencv2

D:\workAPP\opencv\build\include\opencv

D:\workAPP\opencv\build\include

库目录中添加

D:\workAPP\opencv\build\x86\vc11\staticlib

D:\workAPP\opencv\build\x86\vc11\lib





第九步 打开链接器-输入-附加依赖项

这些复制进去

opencv_ts300d.lib
opencv_world300d.lib
IlmImfd.lib
libjasperd.lib
libjpegd.lib
libpngd.lib
libtiffd.lib
libwebpd.lib
opencv_calib3d300d.lib
opencv_core300d.lib
opencv_features2d300d.lib
opencv_flann300d.lib
opencv_highgui300d.lib
opencv_imgcodecs300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_objdetect300d.lib
opencv_photo300d.lib
opencv_shape300d.lib
opencv_stitching300d.lib
opencv_superres300d.lib
opencv_video300d.lib
opencv_videoio300d.lib
opencv_videostab300d.lib
zlibd.lib
opencv_hal300d.lib



第十步 在release属性下做同样的事情

除了最后一步 链接器这里 改成复制下面

opencv_ts300.lib
opencv_world300.lib
IlmImf.lib
ippicvmt.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
libwebp.lib
opencv_calib3d300.lib
opencv_core300.lib
opencv_features2d300.lib
opencv_flann300.lib
opencv_highgui300.lib
opencv_imgcodecs300.lib
opencv_imgproc300.lib
opencv_ml300.lib
opencv_objdetect300.lib
opencv_photo300.lib
opencv_shape300.lib
opencv_stitching300.lib
opencv_superres300.lib
opencv_video300.lib
opencv_videoio300.lib
opencv_videostab300.lib
zlib.lib
opencv_hal300.lib



好了 这样就配置好了


我们测试一下  用一个读取摄像机的程序吧



#include <opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;

void main(){
 Mat Frame;
 VideoCapture cap(0);

 while (true)
 {
  cap>>Frame;
  imshow("frame",Frame);
  waitKey(10);
 }

 system("pause");

}



运行一下



恭喜 您配置完成了



下面几篇 我将结合理论 实际算法编写 调用api编写 结合起来给大家从头讲解计算机视觉 有不对的欢迎指正















  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
├─1.计算机视觉简介、环境准备(python, ipython) │ computer vsion.pdf │ CS231 introduction.pdf │ ├─2.图像分类问题简介、kNN分类器、线性分类器、模型选择 │ 2. 图像分类简介、kNN与线性分类器、模型选择.mp4 │ 2.初识图像分类.pdf │ ├─3.再谈线性分类器 │ 3.再谈线性分类器.mp4 │ 再谈线性分类器.pdf │ ├─4.反向传播算法和神经网络简介 │ .反向传播算法和神经网络简介.pdf │ 4. 反向传播算法和神经网络简介.mp4 │ ├─5.神经网络训练1 │ 5.-神经网络训练1.pdf │ 5.神经网络训练1.mp4 │ ├─6.神经网络训练2、卷积神经网络简介 │ 6.神经网络训练2.mp4 │ 神经网络训练2.pdf │ ├─7.卷积神经网络 │ 7.卷积神经网络.mp4 │ Lession7.pdf │ ├─8.图像OCR技术的回顾、进展及应用前景 │ 8.图像OCR技术的回顾、进展及应用前景.mp4 │ PhotoOCR_xbai.pdf │ └─9.物体定位检测 物体定位检测.pdf │ ├─10.卷积神经网络可视化 │ .卷积神经网络可视化.pdf │ 10.卷积神经网络可视化.mp4 │ ├─11.循环神经网络及其应用 │ 11.循环神经网络及其应用.mp4 │ 循环神经网络.pdf │ ├─12.卷积神经网络实战 │ 12.卷积神经网络训练实战.mp4 │ 卷积神经网络实战.pdf │ ├─13.常见深度学习框架介绍 │ 常见深度学习框架介绍.pdf │ ├─14.图像切割 │ 14.图像切割.mp4

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值