OpenCV 简介与装置办法
咱们好啊,我是董董灿。
假如你在做计算机视觉相关的作业,必定少不了运用 OpenCV 库。
在《计算机视觉专栏》的传统计算机视觉部分,我从前运用 OpenCV 进行了许多图画的处理,比方边际检测。
刚好最近在收拾一份文稿,写了关于 OpenCV 的内容,所以就摘录一部分放在这儿,内容首要是关于 Opencv 的介绍以及装置办法。
有需求的朋友能够保藏一下。
什么是 OpenCV?
OpenCV 是一个被广泛运用的开源计算机视觉库,它供给了许多的传统图画 处理算法和根据深度学习的计算机视觉算法,以及用于图画和视频处理的办法。
OpenCV 的首要中心算法运用 C++ 编写,而且对外封装了 C++ 和 Python 语 言的 API,便利调用。
OpenCV 具有以下几个特色 :
代码开源
OpenCV 的代码是开源的,在恪守开源协议的条件下,咱们能够在官方网址免费下载源代码学习并运用。
渠道无关
OpenCV 的库能够在多种体系渠道上运转,包含 Windows、Linux、MacOS、Android 和 iOS 等,这样能够保证用户在不同渠道上运用和部 署,搬迁本钱十分低。
库很小
OpenCV 的库十分小,编译完结后一共不到 100MB,十分适合在一些小内存的场景下进行布置,比方一些图画检测终端。
功用好
因为 OpenCV 的中心算法是运用 C++ 编写的,而且能够很好地支撑多线程和 SIMD 的运转形式,因而,其间触及的算法运转功率很高,功用很好。
上述几点就是 OpenCV 库的几个重要特色,也正因为这几个特色,使得 OpenCV 不管在学术界仍是工业界都得到了广泛的运用。
OpenCV 能够用来做什么?
OpenCV 供给了许多的接口,用于图画和视频的 读取、写入、显现和处理,下面再简略介绍 OpenCV 的首要运用场景:
图画、视频处理
OpenCV 能够很便利地读取、写入和处理图画以及视频,它供给了一些图画处理函数,如滤波、阈值处理、形态学处理和边际检测等。
方针检测和盯梢
OpenCV 包含了一些方针检测和方针盯梢的成套函数, 这些函数能够用于检测和盯梢图画中的方针,例如图画中的人脸、视频中的行人和运动的轿车等。
机器学习
OpenCV 还能够进行一些机器学习的使命,它能够构建支撑向量机(SVM)、随机森林(RandomForest)等算法,然后完结一些分类、回归使命。
OpenCV 环境建立
装置和装备
OpenCV 库在 C++ 开发环境和 python 开发环境下的装置有所不同。
以下是装置两种开发环境中 OpenCV 的具体进程。
装置 python 版别的 OpenCV
装置 Python
假如环境中还没有装置 Python,能够从 Python 官网下载并装置,主张装置 Python 3.0 以上版别。
假如你是 Linux 用户,一般会默许装置了 Python。
装置完 Python 后,体系会默许装置 pip 东西,python 开发环境下需求运用 pip 指令装置 OpenCV。
装置 OpenCV
Windows 体系的用户,按“win+R” 组 合 键 打 开 命 令 提 示 符(cmd) 或 PowerShell。
Linux 体系的用户直接在终端界面进行操作。
输入以下指令:
pip3 install opencv-python
验证装置
在指令行中输入 Python 来发动 Python 解说器,测验导入 cv2 库并打印其版别来承认装置是否成功:
import cv2
print(cv2.__version__)
假如没有过错音讯,而且能正确显现版别号,阐明 OpenCV 现已成功装置。
在上述进程中,咱们运用了 OpenCV 的预编译包 opencv-python,这是最简略且最快速的装置办法。
关于更高档的用户或需求 OpenCV 的完好功用(包含视 频处理和 GPU 加快等)的用户,或许需求从源代码编译 OpenCV。
这需求下载 OpenCV 的源代码、装备编译选项以及编译和装置,进程更为杂乱且需求考虑硬件兼容性。
装置 C++ 版别的 OpenCV
C++ 版别的 OpenCV 依靠一些开发库和东西,在 Linux 体系下经过以下指令装置这些依靠:
sudo apt updatesudo apt-get install libopencv-dev python3-opencv libopencv-contribdev
履行上述指令后,即可完结 C++ 版别的 OpenCV,装置完结后,就能够在 C++ 代码中以导入头文件的方法来运用了,如下:
#include <opencv2/opencv.hpp>
cv::Mat source;
source = cv::imread(file_name);
假如你想学习 AI ,欢迎来增加我的微信 (vx: ddcsggcs),会有许多好玩的AI技能共享,能够咨询、也能够围观朋友圈呀!欢迎检查我的专栏 >>1. 专栏:计算机视觉入门与调优 , 2. 专栏:Transformer 通关与大模型实战