OpenCV介绍及安装

目录

1.OpenCV简介

2.OpenCV安装

3.检查OpenCV是否安装成功

4.OpenCV模块

5.学习技巧


1.OpenCV简介

        OpenCV(Open Source Computer Vision Library)是一个基于开源发行的跨平台计算机视觉库,主要用于图像处理、计算机视觉和机器学习等领域,实现了图像处理计算机视觉方面的很多通用算法,已成为计算机视觉领域最有力的研究工具。在这里我们要区分图像处理和计算机视觉两个概念:图像处理侧重于“处理”图像–如增强,还原,去噪,分割等等;而计算机视觉重点在于使用计算机来模拟人的视觉,因此模拟才是计算机视觉领域的最终目标。

        OpenCV-Python库提供了大量的函数和类,用于图像加载、保存、显示、绘制、变换、滤波、特征检测、视频处理等。它支持多种图像格式,包括常见的JPEG、PNG、BMP等,也支持通过摄像头或视频文件获取实时视频流。OpenCV-Python还提供了一些机器学习算法的实现,如人脸识别、目标检测、图像分类等。

        OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS, 如今也提供对于C#、Ch、Ruby,GO的支持。

        OpenCV最初于1999年由Intel公司的俄罗斯一团队发起建立,并于2000年以BSD许可证的形式发布,如今由Willow Garage公司提供支持。到目前(2023年9月)最新是4.x版本。

2.OpenCV安装

        因为本文学习主要是使用OpenCV提供的python接口,所以这里也是仅介绍python版OpenCV的安装。python安装opencv,需要使用以下安装命令:

#安装OpenCV的python库:
pip install opencv-python#安装指定的OpenCV版本:
pip install opencv-python==3.4.2.16#使用国内镜像源安装:
pip install opencv-python==3.4.2.16 -i https://pypi.tuna.tsinghua.edu.cn/simple

        说明:

  1. opencv-python表示python版的opencv接口模块,使得开发者可以使用Python进行图像处理和计算机视觉的开发工作。。
  2.  opencv-python需要依赖numpy库,pip install numpy。

        3.安装指定版本opencv-python==3.4.2.16,因为此版本之后,一些经典算法被申请了专利,做了很大限制。

        4.python版本:建议用python 3.7或者3.6版本,高于3.7可能无法使用安装opencv-python==3.4.2.16版本。

       5.如果要用到SIFT和SURF等进行特征提取时,还需要安装:

pip install opencv-contrib-python==3.4.2.16

3.检查OpenCV是否安装成功

import cv2# 导入图片
img = cv2.imread('close.png')
cv2.imshow('image', img)# 按任意键,关闭弹框
cv2.waitKey(0)
cv2.destroyAllWindows()

使用该代码读取一张图像,能正确显示即表示安装成功。 

4.OpenCV模块

OpenCV有很多模块,最基本的模块core、hightgui、imgproc。模块分布如下所示:

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

highgui模块:实现了视频与图像的提取、显示和存储等。

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

进阶高层次的方向,opencv也有相关的模块:

feature2d模块:用于提取图像特征以及特征匹配,nonfree(非免费即收费)模块实现了一些专利算法,如sift特征。而opencv-python==3.4.2.16版本,都是免费模块,没有收费模块。

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

stitching模块:实现了图片的拼接功能,如遥感影像拼接。

FLANN模块(Fast Library for Appproximate Nearest Neighbors):包含了快速近似最近邻搜素FLANNel和聚类Clustering算法。

ml模块:机器学习模块(SVM、决策树、Boosting等等)

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

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

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

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

5.学习技巧

        可以使用dir()函数和help函数帮助我们查询OpenCV-Python模块的更多知识。dir(cv2)可以帮助我们快速查询OpenCV的类和函数,help(cv2)可以帮助我们快速查找OpenCV中的模块。

大写字母对应的是OpenCV中的类.

小写的对应的是OpenCV中的方法。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/196340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

干货|水表基础知识大全

第一部分 水表基础知识 第一节 水表的作用 水表:是用来记录流经自来水管道中水量的一种计量器具,也称为计量器具。 1、水表的发展简史 1825年英国的克路斯发明了真正具有仪表特征的平衡罐式水表以来,水表的发展已有近二百年的历史。期间,水表的结构…

目标检测中的损失函数:IOU_Loss、GIOU_Loss、DIOU_Loss和CIOU_Loss

文章目录 前言1.IOU_Loss(Intersection over Union Loss)2.GIOU_Loss(Generalized Intersection over Union Loss)3.DIOU_Loss(Distance Intersection over Union Loss)4.CIOU_Loss(Complete In…

行云创新:与德国汽车业交流Catena-X数据空间技术有感

近日,行云创新CEO马洪喜先生受深圳高新投、Plug&Play邀请参加Catena-X技术研讨交流会,与西门子全球汽车生态系统总监Claus CREMERS,大众汽车全球数字化生产及流程负责人Frank GOELLER,宝马全球数字化政策负责人Sebastian SCHL…

【国际会议】2024年材料科学与机械应用发展国际会议(ICMSMAD 2024)

2024年材料科学与机械应用发展国际会议(ICMSMAD 2024) 2024 International Conference on Materials Science and Mechanical Application Development(ICMSMAD 2024) 一、【会议简介】 ​2024年材料科学与机械应用发展国际会议(ICMSMAD 2024)即将在美丽的中国成都盛大召开。这…

使用gdb调试正在运行的程序

写一个一秒打印一个数的c程序&#xff0c;并编译运行。 #include<unistd.h> #include<stdio.h> int main(int argc,char **argv){int i0;while(1){sleep(1);i;printf("%d\n",i);}return 0; }vim loop.c gcc loop.c -o loop ./loop 查看该进程的进程号。…

《数据库系统概论》学习笔记——王珊 萨师煊

第一章 绪论 一、数据库系统概述 1.数据库的4个基本概念 &#xff08;1&#xff09;数据 描述事物的符号记录称为数据 &#xff08;2&#xff09;数据库 存放数据的仓库 &#xff08;3&#xff09;数据库管理系统 主要功能&#xff1a; &#xff08;1&#xff09;数据定…

APP逆向工具环境安装

环境安装及配置&#xff1a; 1.JDK安装及配置链接&#xff1a;https://pan.baidu.com/s/146I4vDJdz8YeR0OEqLS8xw 提取码&#xff1a;7h00 2.SDK环境配置链接&#xff1a;https://pan.baidu.com/s/1A8rwqyw8Nn7p93Axqpll3A 提取码&#xff1a;cwv43.NDK环境配置链接&#xff1…

SpringBoot:SpringMVC(上)

文章目录 前言一、SpringMVC是什么&#xff1f;1.1 MVC的定义&#xff1a;1.2 MVC 和 Spring MVC 的关系 二、Spring MVC 创建和连接2.1创建springmvc2.2接下来&#xff0c;创建⼀个 UserController 类&#xff0c;实现⽤户到 Spring 程序的互联互通&#xff0c;具体实现代码如…

MYSQL练题笔记-聚合函数-即时食物配送

我做完上一道题&#xff0c;决定总结一下了&#xff0c;因为现在还是没有一个我认为好的思路去构造语句&#xff0c;这里开始试一试新的思路。果然想要好一点的时候&#xff0c;总是像便秘一下&#xff0c;真的想拉&#xff0c;但是真的难拉啊 一、题目相关内容 1&#xff09…

科普关于msvcp140.dll文件是什么内容,解决msvcp140.dll丢失的修复方法

在使用电脑时出现了关于msvcp140.dll丢失的问题&#xff0c;这是什么情况&#xff0c;出现这样的问题通常都会导致电脑中的一些软件不能使用&#xff0c;那么都有什么办法能够解决msvcp140.dll丢失的问题呢&#xff1f;今天就给大家科普一些关于msvcp140.dll文件是什么的内容&a…

小程序长按识别二维码

小程序开发中要实现长按识别二维码的功能很简单&#xff0c;只需要在image标签里添加如下属性即可&#xff1a; 小程序版本&#xff1a; show-menu-by-longpress"{{true}}" uniapp版本&#xff1a; :show-menu-by-longpress"true" 举例&#xff1a; …

小红书种草笔记多少钱?给大家揭秘

小红书&#xff0c;一个以生活方式分享为主题的社交电商平台&#xff0c;吸引了众多年轻用户。种草笔记&#xff0c;是指用户在小红书上分享的关于某一产品或服务的使用体验、心得感悟&#xff0c;通过图文并茂的形式&#xff0c;激发其他用户的好奇心和购买欲望&#xff0c;从…

资深老鸟整理,高级测试工程师应具备的能力...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、业务熟悉 熟悉…

在国内Facebook广告怎么解决充值渠道问题?

怎么解决Facebook预充值跑广告营销的付款方式问题呢&#xff1f; Facebook跑广告是很多做出口营销的公司或团队喜欢的平台之一&#xff0c;那就避免不了需要支付给Facebook平台广告费用了&#xff0c;那到底用什么方式去充值到FB号上去解决呢&#xff1f;FB预充值有什么咔可以…

操作系统·设备管理

I/O系统是计算机系统的重要组成部分&#xff0c;是OS中最复杂且与硬件密切相关的部分 I/O系统的基本任务是完成用户提出的I/O请求&#xff0c;提高I/O速率以及改善I/O设备的利用率&#xff0c;方便高层进程对IO设备的使用 I/O系统包括用于实现信息输入、输出和存储功能的设备和…

stm32L071KB单片机字节对齐问题

字节对齐问题由来很关键 字节对齐问题由来 字节对齐问题由来 在移植同事代码的时候发现到一个赋值变量的地方就会出现死机&#xff0c;进入hardfault,怎么也找不不到原因&#xff0c;最后没办法去了github https://github.com/armink/CmBacktrace/blob/master/README_ZH.md Cm…

openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引

文章目录 openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引141.1 背景信息141.2 重建索引141.3 操作步骤 openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引 141.1 背景信息 数据库经过多次删除操作后&#xff0c;索引页面上的索引键将被…

一次北斗接收机调试总结

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> 最近项目中要用到北斗接收机&#xff0c;它的样子是长这样的&#xff1a; 这部机器里面是没有操作系统的&#xff0c;由单片机控制。最近我们要根据协议…

ChatGPT发布一年后,搜索引擎的日子还好吗?

导读&#xff1a;生成式AI&#xff0c;搜索引擎的终结者还是进化加速器 ChatGPT发布刚刚一年&#xff0c;互联网世界已经换了人间。 2023年&#xff0c;以ChatGPT和大模型为代表的生成式AI浪潮对全球互联网、云计算、人工智能领域都带来巨大冲击。而且生成式AI在各行各业的应用…

Linux Camera Driver(2):CIS设备注册(DTS)

一:MIPI接口 1、硬件接口 MIPI接口以rv1109和gc2053的硬件为例进行说明: 2、ISP驱动 注意配置事项: endpoint配置,必须指定data-lanes,否则无法识别为mipi类型 链接方式:sensor->csi_dphy->isp->ispp (1)sensor节点配置 根据原理图可知:mipicsi_clk0即引…