8.2 OpenCV简介

article/2025/10/25 15:47:46

OpenCV简介

学习目标

  • 了解OpenCV是什么

  • 能够独立安装OpenCV


1 什么是OpenCV

1.1 OpenCV简介

OpenCV是一款由Intel公司俄罗斯团队发起并参与和维护的一个计算机视觉处理开源软件库,支持与计算机视觉和机器学习相关的众多算法,并且正在日益扩展。

OpenCV的优势:

  1. 编程语言

    OpenCV基于C++实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API,结合了OpenCV C++ API和Python语言的最佳特性。

  2. 跨平台

    可以在不同的系统平台上使用,包括Windows,Linux,OS X,Android和iOS。基于CUDA和OpenCL的高速GPU操作接口也在积极开发中

  3. 活跃的开发团队

  4. 丰富的API

    完善的传统计算机视觉算法,涵盖主流的机器学习算法,同时添加了对深度学习的支持。

1.2 OpenCV-Python

OpenCV-Python是一个Python绑定库,旨在解决计算机视觉问题。

Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得非常流行,主要是因为它的简单性和代码可读性。它使程序员能够用更少的代码行表达思想,而不会降低可读性。

与C / C++等语言相比,Python速度较慢。也就是说,Python可以使用C / C++轻松扩展,这使我们可以在C / C++中编写计算密集型代码,并创建可用作Python模块的Python包装器。这给我们带来了两个好处:首先,代码与原始C / C++代码一样快(因为它是在后台工作的实际C++代码),其次,在Python中编写代码比使用C / C++更容易。OpenCV-Python是原始OpenCV C++实现的Python包装器。

OpenCV-Python使用Numpy,这是一个高度优化的数据库操作库,具有MATLAB风格的语法。所有OpenCV数组结构都转换为Numpy数组。这也使得与使用Numpy的其他库(如SciPy和Matplotlib)集成更容易。

2 OpenCV部署方法

安装OpenCV之前需要先安装numpy, matplotlib。

创建Python虚拟环境cv, 在cv中安装即可。

先安装OpenCV-Python, 由于一些经典的算法被申请了版权,新版本有很大的限制,所以选用3.4.3以下的版本

pip install opencv-python==3.4.2.17

现在可以测试下是否安装成功,运行以下代码无报错则说明安装成功。

import cv2

# 读一个图片并进行显示(图片路径需自己指定)

lena=cv2.imread("1.jpg")

cv2.imshow("image",lena)

cv2.waitKey(0)

如果我们要利用SIFT和SURF等进行特征提取时,还需要安装:

pip install opencv-contrib-python==3.4.2.17


总结

  1. OpenCV是计算机视觉的开源库

    优势:

    • 支持多种编程语言

    • 跨平台

    • 活跃的开发团队

    • 丰富的API

  2. 能够独立的安装OpenCV-python

OpenCV的模块

学习目标

  • 了解OpenCV的主要模块


1 OpenCV的模块

下图列出了OpenCV中包含的各个模块:

其中core、highgui、imgproc是最基础的模块,该课程主要是围绕这几个模块展开的,分别介绍如下:

  • core模块实现了最核心的数据结构及其基本运算,如绘图函数、数组操作相关函数等。

  • highgui模块实现了视频与图像的读取、显示、存储等接口。

  • imgproc模块实现了图像处理的基础方法,包括图像滤波、图像的几何变换、平滑、阈值分割、形态学处理、边缘检测、目标检测、运动分析和对象跟踪等。

对于图像处理其他更高层次的方向及应用,OpenCV也有相关的模块实现

  • features2d模块用于提取图像特征以及特征匹配,nonfree模块实现了一些专利算法,如sift特征。

  • objdetect模块实现了一些目标检测的功能,经典的基于Haar、LBP特征的人脸检测,基于HOG的行人、汽车等目标检测,分类器使用Cascade Classification(级联分类)和Latent SVM等。

  • stitching模块实现了图像拼接功能。

  • FLANN模块(Fast Library for Approximate Nearest Neighbors),包含快速近似最近邻搜索FLANN 和聚类Clustering算法。

  • ml模块机器学习模块(SVM,决策树,Boosting等等)。

  • photo模块包含图像修复和图像去噪两部分。

  • video模块针对视频处理,如背景分离,前景检测、对象跟踪等。

  • calib3d模块即Calibration(校准)3D,这个模块主要是相机校准和三维重建相关的内容。包含了基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等。

  • G-API模块包含超高效的图像处理pipeline引擎


总结

  1. OpenCV 的模块

    core:最核心的数据结构

    highgui:视频与图像的读取、显示、存储

    imgproc:图像处理的基础方法

    features2d:图像特征以及特征匹配

 


http://chatgpt.dhexx.cn/article/ETnG1CdL.shtml

相关文章

OpenCV怎么学?OpenCV入门到底要学多久?

首先先了解OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在linux、Windows、Android和MAC OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、…

【OpenCV学习】(四)图形绘制

【OpenCV学习】(四)图形绘制 背景 使用OpenCV进行图形绘制是一种必备的技能,在图像的任务中,不管是图像检测还是图像识别,我们都需要通过绘制图形和绘制文字对处理的结果进行说明,本篇就详细介绍下图形的…

通过opencv制作人脸识别的窗口,这也太疯狂了

@Author:Runsen 文章目录 使用Haar级联进行人脸检测Haar级联结合摄像头使用SSD的人脸检测SSD结合摄像头的人脸检测人脸检测,看似要使用深度学习,觉得很高大牛逼,其实通过opencv就可以制作人脸识别的窗口。 今天,Runsen教大家将构建一个简单的Python脚本来处理图像中的人脸…

opencv(人脸检测和识别)

Opencv的人脸检测函数,定义了具体可跟踪对象类型的数据文件。 Haar级联分类器,通过对比分析相邻图像区域来判断给定图像或子图像与已知对象是否匹配。 两个图像的相似程度可以通过它们对应特征的欧式距离来度量。距离可能以空间坐标或颜色坐标来定义。…

OpenCV:人脸检测

OpenCV是一个开源、跨平台的计算机视觉库,可以用于各种图像和视频处理操作。 所以接下来会分享一些关于OpenCV有趣的小案例,毕竟要让学习变得有趣。 本次就来了解一下,如何通过OpenCV对人脸进行检测。 其中OpenCV有C和Python两种&#xff0…

基于opencv实现人脸识别案例

一、基础 我们使用机器学习的方法完成人脸检测,首先需要大量的正样本图像(面部图像)和负样本图像(不含面部的图像)来训练分类器。我们需要从其中提取特征。下图中的 Haar 特征会被使用,就像我们的卷积核&a…

基于opencv人脸识别

基于opencv平台实现人脸识别。mac os建议使用pycharm ce 编译器使用Xcode 第一步建立代码运行的环境 打开pycharm ce 终端或者mac 终端 输入pip install opencv- python 、pip install opencv-contrib- python ,pip install pillow (注意要观察自己电脑p…

(学习笔记二)——基于opencv人脸检测原理及实现

最近搞了几天的人脸检测,终于把大体框架和原理搞清楚了,现在写出来供大家学习之用,如有不对之处,还请大家指正。也希望大家在学习opencv的过程中能将学习过程及重点记录下来,以博客的形式分析,毕竟opencv的…

Python OpenCV 人脸识别

简单运用Python OpenCV对图片进行人脸识别, 我们先看效果及代码: import cv2img1 cv2.imread(6.jpeg) gray cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) face_detector cv2.CascadeClassifier("haarcascade_frontalface_default.xml") faces …

OpenCV-Python:简单实现人脸识别

安装 pip install numpy pip install opencv-python pip install opencv-contrib-pythonOpenCV主要模块 core 核心功能模块。该模块主要包含 OpenCV库的基础结构以及基本操作,例如OpenCV基础数据结构、绘图函数、数组操作相关函数、动态数据结构等calib3d&#xff…

[计算机毕业设计]opencv的人脸面部识别

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

OpenCV人脸检测及识别(深度学习)

简介 最近做了一个人脸检测以及识别的程序,很多的文章都有比较详细的叙述,可以自行查找。但是个人觉得大部分文章都太细致了以至于初学者无法快速领会主干(不是否认质量),是侧重点问题。所以结合我遇到了一些问题&…

使用OpenCV简单实现人脸识别

简介 OpenCV是一个非常强大的计算机视觉库,现有的一系列特征检测和特征匹配算法,有很大一部分都已经在OpenCV的库中得以实现,故此我们只需调用OpenCV库中函数即可简单实现人脸识别。 开发环境 版本:Python 3.6 编辑器&#xff…

OpenCv 之(图片人脸识别)和 (摄像头读入)

##先来张人脸识别效果图: ##1、概述 人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技术…

(项目笔记)opencv人脸识别

Haar级联: Haar特征:边缘特征,线性特征,中心环绕特征,对角线特征 这些特征组合为特征模板,特征模板里有白色和黑色矩形,模板特征即为白色矩形像素和减去黑色矩形像素和。 Haar 特征的提取简…

【opencv】基于opencv实现人脸识别,原理代码部分

上一部分我们解决了环境问题,这一部分我们可以开始上代码,环境没有配好的可以参照上一篇博客:环境搭建解决: 下面先说一下原理: 一.原理部分 本文基于opencv来实现人脸识别,大致实现流程可以描述为&#…

基于opencv的人脸识别和检测

人脸识别作为一个热门项目,目前有多种方法实现,利用python和opencv来实现,是一个比较简单的项目。 1.环境配置 windows平台 python版本:3.8.6 pycharm版本:2019.1.2 Opencv版本:4.5.3 安装了python后…

C++ OpenCV【人脸识别人眼识别】

此文章仅对人脸位置进行检测&#xff0c;使用haar级联的方法[OpenCV自带] #include <iostream> #include <opencv2/opencv.hpp> #include <vector> #include <cstdio> using namespace std; using namespace cv;//定义7种颜色&#xff0c;用于标记人脸…

通过opencv实现简单的人脸识别

文章目录 通过opencv实现简单的人脸识别1.环境配置2.收集数据集3.人脸数据的处理4.通过神经网络训练模型5.进行人脸识别6.总结 通过opencv实现简单的人脸识别 ​ 网上有很多通过opencv实现的简单人脸识别&#xff0c;本文于其他文章差别不大&#xff0c;仅为作者复现代码后的一…

基于OpenCv的人脸识别(Python完整代码)

实验环境&#xff1a;python 3.6 opencv-python 3.4.14.51 建议使用 anaconda配置相同环境 背景 人脸识别步骤 图1&#xff1a;人脸识别流程图 人脸采集 采集人脸图片的方法多种多样&#xff0c;可以直接从网上下载数据集&#xff0c;可以从视频中提取图片&#xff0c;还可以…