OpenCV简介:

OpenCV 是一款功能强大的跨平台计算机视觉开源库,可以用于解决人机交互、物体检测、人脸识别等领域的问题。库本身是采用 C++ 编写的,但是同时也对 Python, Java, C# 等语言提供接口支持。

OpenCV的全称是:Open Source Computer Vision Library(开源计算机视觉库)。

OpenCV的应用领域:

  • 人机互动
  • 物体识别
  • 图像分割
  • 人脸识别
  • 动作识别
  • 运动跟踪
  • 机器人
  • 运动分析
  • 机器视觉
  • 结构分析
  • 汽车安全驾驶

OpenCV教程:

C++语言开发:

前面介绍过了OpenCV是用C++语言编写,因此想要学习OpenCV,当然首选C++语言,这里推荐4门OpenCV的教程,全部都是用C++语言开发的。

1小时入门增强现实技术

该项目基于OpenCV实现一个将3D模型显示在现实中的小例子,学习基于Marker的AR技术,既简单又有趣。

opencv可以用java程序吗 opencv可以用什么语言_opencv可以用java程序吗

使用OpenCV&&C++进行模板匹配

模版匹配是在图像中寻找目标的方法之一,常用于进行物体识别或人脸识别。该项目使用OpenCV&&C++进行模板匹配,在一张大图中去查找并圈出目标小图。通过教程你将学习到关于OpenCV的一些函数用法和模板匹配的完整流程。

输入两张图像分别为:

opencv可以用java程序吗 opencv可以用什么语言_c/c++_02

opencv可以用java程序吗 opencv可以用什么语言_python_03

以上两张图片匹配完成的输出结果图片:

opencv可以用java程序吗 opencv可以用什么语言_python_04

C++基于OpenCV实现实时监控和运动检测记录

该项目使用C++和OpenCV提供的库函数,实现摄像头的实时监控功能,并通过监控画面的运动检测选择是否记录视频。监控人员可选择输出图像的模式以更容易的分辨监控中的异常情况。

C++实现运动目标的追踪

该项目利用 OpenCV 来实现对视频中动态物体的追踪。学习该教程前,您需要先完成C++实现太阳系行星运行系统的相关实验,因为该项目是基于此进行的后续开发。

opencv可以用java程序吗 opencv可以用什么语言_c/c++_05

Python开发:

我们知道OpenCV提供了Python接口,加之Python的易学性,所以很多人都会学Python,因此分享几个Python语言开发的相关实战教程:

Python3 & OpenCV 视频转字符动画

该项目使用 OpenCV 处理图片视频,将视频转为字符画序列,再在终端中播放字符动画。除了 OpenCV 的操作,该项目还会了解光标定位转义编码的使用。

opencv可以用java程序吗 opencv可以用什么语言_人工智能_06

使用OpenCV进行图片平滑处理打造模糊效果

该项目利用OpenCV中的平滑处理和线性滤波器对图片进行处理,打造模糊效果。将介绍归一化滤波器,高斯滤波器,中值滤波器,双边滤波器这四种滤波器的相关知识,并且会对“核”和卷积进行相应的讲解。

输入一张图像:

输出一张图像:

川普撞脸希拉里(基于 OpenCV 的面部特征交换)

该项目通过 OpenCV 库来实现人脸面部特征交换,其实就是将第二张人脸的眼睛、鼻子和嘴巴通过程序自动裁剪适配并覆盖到第一张人脸上,并且为了使得修改后的照片看着更加自然,我们还需要调整皮肤颜色。

Python实现简易局域网视频聊天工具

该项目是Python基于OpenCV和PyAudio实现的局域网内视频聊天工具,支持IPv6。优点是校园网/IPv6下不走流量。