Antkillerfarm Hacking V7.0

OpenCV(一)

2016-07-19

OpenCV

概述

OpenCV是一套跨平台计算机视觉库。其官网为:

http://opencv.org/

Ubuntu安装方法:

sudo apt install libopencv-dev python-opencv

注意:这种方法安装的版本有些老,目前还是2.x。(2016.4)

参见:

http://milq.github.io/install-opencv-ubuntu-debian/

Install OpenCV on Ubuntu or Debian

Windows安装方法:

https://sourceforge.net/projects/opencvlibrary/files/opencv-win/

代码下载地址:

https://github.com/Itseez/opencv

OpenCV项目目前由itseez团队维护,他们的网站是:

http://itseez.com/

教程

官方教程:

http://docs.opencv.org/2.4/doc/tutorials/tutorials.html

其他教程:

http://download.csdn.net/detail/antkillerfarm/9578482

《Learning OpenCV》,Gary Bradski和Adrian Kaehler合著的书籍。

Gary Rost Bradski,UC Berkeley的本科+波士顿大学博士,斯坦福大学顾问教授。OpenCV项目创始人,有20年以上的相关经验。百度首席科学家吴恩达算是他的小弟吧。

Adrian Kaehler,哥伦比亚大学博士。

http://wiki.opencv.org.cn/

国人办的OpenCV中文网。

https://mp.weixin.qq.com/s/PXHcwJyDkPC7Xrjt0r8bIw

412页的《Machine Learning for OpenCV》

示例

https://github.com/antkillerfarm/antkillerfarm_rubbish/tree/master/opencv/1

这里有个简单示例,可用于验证安装的正确性。支持CMake和makefile两种方式。

论文

《Moving Gradients: A Path-Based Method for Plausible Image Interpolation》:视频帧插值算法

使用细节

saturate_cast

saturate_cast宏会对结果进行转换,以确保它在有效范围之内。

硬件加速

OpenCV中的运算,除了软件实现之外,还有若干种硬件加速,包括OpenCL、CUDA和IPPICV。

Intel针对自身的硬件加速,推出了IPP(Integrated Performance Primitives)软件包,但这个包是收费的。从OpenCV 3.0开始,Intel将IPP的一个子集提取出来,免费供OpenCV项目使用。这个子集,俗称“IPPICV”。

神经网络

OpenCV提供了对于神经网络的支持。然而由于DL框架的专业性,OpenCV提供的支持更多的局限于模型的推断(也就是加载已经训练好的模型),而不是训练。

官方文档:

https://docs.opencv.org/3.4.0/d6/d0f/group__dnn.html

参考:

https://zhuanlan.zhihu.com/p/28323601

鱼和熊掌兼得,DNN加入OpenCV全家桶

Halcon

HALCON是德国MVtec公司开发的一套完善的标准的机器视觉(machine vision)算法包。

官网:

https://www.mvtec.com/products/halcon/

它和OpenCV的差异在于:

1.halcon侧重工业视觉比如检测、测量等,而opencv则要广泛些。

2.halcon是商业软件,看不到源代码;而opencv则是open free的。

3.如果你是搞算法的,并且项目周期长,公司不愿意购买商业视觉软件的,可以考虑Opencv,;如果你的项目周期短,公司可以承受商业软件的成本,选择Halcon会是比较明智的选择。

参考:

https://blog.csdn.net/taily_duan/article/category/2623893

一个Halcon的专栏

VTK

Visualization ToolKit是一个3D计算机图形学、图象处理及可视化的开源工具包。相比OpenCV来说,它更偏重图形绘制和渲染。

官网:

https://vtk.org/

参考:

https://zhuanlan.zhihu.com/p/457572045

vtk简介

CCV

CCV是一个C语言的CV库。

官网:

http://libccv.org/

代码:

https://github.com/liuliu/ccv

VLFeat

VLFeat也是一个C语言的CV库。

官网:

http://www.vlfeat.org/

代码:

https://github.com/vlfeat/vlfeat

该项目还有一个基于matlab的CNN库——MatConvNet。

官网:

http://www.vlfeat.org/matconvnet/

参考:

https://mp.weixin.qq.com/s/7hVCRHxllip70SpEJ5I6mQ

MatConvnet图像分类从模型自定义到测试

OpenMV

OpenMV是一个开源,低成本,功能强大的机器视觉模块。以STM32F427CPU为核心,集成了OV7725摄像头芯片,在小巧的硬件模块上,用C语言高效地实现了核心机器视觉算法,提供Python编程接口。使用者们(包括发明家、爱好者以及智能设备开发商)可以用Python语言使用OpenMV提供的机器视觉功能,为自己的产品和发明增加有特色的竞争力。

简单来说就是:带机器视觉功能的Arduino

官网:

https://openmv.io

代码:

https://github.com/openmv/openmv

blog

https://github.com/1zlab/opencv-tutorial

一个OpenCV的入门示例库

http://blog.csdn.net/morewindows/article/category/1291764

国人写的OpenCV入门指南。

http://blog.csdn.net/column/details/opencv-tutorial.html

另一个国人写的OpenCV入门指南。

blog.csdn.net/jia20003/

一个OpenCV on Android的blog。

http://blog.csdn.net/soidnhp

一个CV的blog。

http://blog.csdn.net/liulina603

一个CV的blog。

http://blog.csdn.net/kezunhai

一个CV的blog。

http://blog.csdn.net/yang_xian521/

一个CV的blog。

https://blog.csdn.net/u012679707

一个CV的blog。

http://blog.csdn.net/mmz_xiaokong/article/details/7916163

机器视觉开源处理库汇总。

http://blog.csdn.net/mmz_xiaokong/article/details/7916189

介绍n款计算机视觉库/人脸识别开源库/软件。

http://deeplearning.net/

一个深度学习方面的资料网站。

http://www.scratchapixel.com/

一个学习图像处理的网站。

http://www.cs.rug.nl/~imaging/

一个在线的图像处理网站。

https://blog.csdn.net/liyuanbhu/

一个CV+math的blog。没错,该博主似乎对实分析很感兴趣。

https://blog.csdn.net/taily_duan/article/category/6156573

一个CV的专栏

https://mp.weixin.qq.com/s/jlgTGqxBpD-va2R2KT0E6Q

同学,你要的OpenCV图像处理系列教程已安排

二维码

https://www.zhihu.com/question/33941757

二维码会不会有一天用完?

https://www.cnblogs.com/alantu2018/p/8504373.html

二维码的生成细节和原理

https://mp.weixin.qq.com/s/zZNJKUYlmKKSuSRCM1sgeg

OpenCV二维码检测与定位

https://mp.weixin.qq.com/s/v8-4vs2V6R8VljY0k1PzhA

OpenCV4.0 快速QR二维码检测测试示例

https://mp.weixin.qq.com/s/LKltnkxxoMHMiqx2Rpi77w

基于OpenCV Python实现二维码检测与识别

https://mp.weixin.qq.com/s/GMt66ZIO5AiF1B2B8nDVKw

开源、高质量QR码多语言生成库

https://mp.weixin.qq.com/s/X-CEAOiOc46B7NrjGH9Mjg

二维码检测哪家强?五大开源库测评比较

https://mp.weixin.qq.com/s/Hv0rPD29PPd3Rn6lW6w5dg

教你使用Python制作酷炫二维码

https://mp.weixin.qq.com/s/LAqomHKhyc6nkr6d5OxyHw

生成自定义二维码,5行Python代码就搞定

https://mp.weixin.qq.com/s/nu7eKp8kSRdJ0uEKgxA5pw

基于OpenCV的条形码检测

https://mp.weixin.qq.com/s/pphBiEX099ZkDV0hWwnbhw

微信二维码引擎OpenCV开源!3行代码让你拥有微信扫码能力

参考

https://mp.weixin.qq.com/s/R2kGr7NHorfnpHV9OD18Qw

基于OpenCV的摄像头圆心计算

https://mp.weixin.qq.com/s/S4b1OGjRWX1kktefyHAo8A

OpenCV中ORB特征提取与匹配

https://mp.weixin.qq.com/s/N2z2c6X7IAsjMbZv9DSNpA

有效遮挡检测的鲁棒人脸识别

http://blog.sciencenet.cn/blog-1239700-853296.html

视觉研究的前世今生

https://mp.weixin.qq.com/s/UBjPMwirvNAE4WKgvDYu4A

全景视频拼接的关键技术分析

https://mp.weixin.qq.com/s/Vbu-qzyD169TSrQIJgzm7w

研究人脸识别技术必须知道的十个基本概念

https://zhuanlan.zhihu.com/p/23255241

人脸识别应用之“变脸”

https://mp.weixin.qq.com/s/A8foIEN6baR2fxsyZYSmIg

基于OpenCV实现手写体数字训练与识别

https://mp.weixin.qq.com/s/KTLzq6JJxmgIgOwwEEqCRA

人脸检测的C/C++源代码

https://mp.weixin.qq.com/s/zPjkAwsjW-k1llB24bN7Eg

OpenCV3.3深度学习模块(DNN)应用-图像分类

https://mp.weixin.qq.com/s/PNpm286T2CDFXPuEUEP3jw

OpenCV3.3深度学习模块-对象检测演示

http://mp.weixin.qq.com/s/jfDH_Cq9UDudNNGLeLy2uA

Python3.6+OpenCV3.3开发环境搭建

https://mp.weixin.qq.com/s/PxsS0mgdCTQ_l7ZdjmmrvQ

摄影爱好者玩编程:利用Python和OpenCV打造专业级长时曝光摄影图

https://mp.weixin.qq.com/s/c6qUyFDaLMyvphVwNO_klQ

Python OpenCV像素操作

https://mp.weixin.qq.com/s/Jf0gbbh0YQTlkeaPjAlnJg

无需复杂深度学习算法,基于计算机视觉使用Python和OpenCV计算道路交通

https://mp.weixin.qq.com/s/Da6kSPipbl2roKhdW8xC2A

图像各向异性滤波

http://blog.csdn.net/q4878802/article/details/51841793

Android使用OpenCV实现“人脸检测”和“人脸识别”

https://mp.weixin.qq.com/s/8I9jC3c6ZRsCCzYGylezhA

用OpenCV亲手给小扎、Musk等科技大佬们做一张“平均脸”

https://mp.weixin.qq.com/s/DqaGM2zc-6GAe2b24DA84w

在单机上快速、精确的100000类别的检测

https://mp.weixin.qq.com/s/w6qkWBSedKPtTdTecDF7mw

编译OpenCV3.3源码生成Android SDK

https://mp.weixin.qq.com/s/9fGKqTxoplAYb6O7yJskGA

使用OpenCV和Python基于深度学习实现实时视频目标检测!

http://www.cnblogs.com/qcloud1001/p/7904698.html

老司机带你检测相似图片

https://mp.weixin.qq.com/s/kDEkcLUli_jshPf4Zb3HIw

微信官方给不了的圣诞帽,Python和OpenCV给你

https://mp.weixin.qq.com/s/VEAUFT98LkuW573p1h5YvQ

Android NDK层编译OpenCV代码开发详解

https://mp.weixin.qq.com/s/-u27qstEz0mr-WJPaOHVzg

OpenCV中积分图介绍与应用

https://mp.weixin.qq.com/s/ZtBW1Mh4WPVNSSvOZ3C1yw

OpenCV中导向滤波介绍与应用

https://mp.weixin.qq.com/s/mTcAkYBNY0uqLI9Q_5Iu1Q

OpenCV中神经网络介绍与使用

https://mp.weixin.qq.com/s/kWaD-UQdiDd1SU9Mo43ihg

OpenCV从零基础—检测及分割图像的目标区域

https://mp.weixin.qq.com/s/u2i1wkxrhVO5J1zV5HlANw

手把手教你实现图像边缘检测!

https://mp.weixin.qq.com/s/6J6Rke_zTznSLLQ3IdHzgA

手把手教你搭建目标检测器-附代码

https://mp.weixin.qq.com/s/mhjLbc9sIp74MktkgV19_w

手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定!

https://mp.weixin.qq.com/s/kzzfzxEjKVzc9lNLrDpgEQ

OpenCV基于残差网络实现人脸检测

https://mp.weixin.qq.com/s/95hftpJfSDIMlMVOC7iq4g

OpenCV中使用YOLO对象检测

https://zhuanlan.zhihu.com/p/35390012

OpenCV实战:人脸关键点检测(FaceMark)

https://mp.weixin.qq.com/s/g5MM-pXOAuY7HaBUik9POg

Android平台上OpenCV深度网络实现对象检测

https://mp.weixin.qq.com/s/8MkOfaOyjEoMBmV51I1mDg

OpenCV直线拟合检测

https://mp.weixin.qq.com/s/VS2MXdyb849jVU4F_QMRpA

OpenCV中几何形状识别与测量

https://mp.weixin.qq.com/s/Jv8CD_x-lgUdx3J5l1zYSg

OpenCV实现人脸对齐

Fork me on GitHub