0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenCV常用的 7 个示例(Python版)1

jf_78858299 来源:小白玩转Python 作者:二旺 2023-02-07 16:23 次阅读

OpenCV是计算机视觉领域最流行的库之一。它最初是用 C 和 C++ 编写的。现在也可以在 Python 中使用。它最初是由英特尔开发的。该库是一个跨平台的开源库。免费使用。OpenCV 库是一个高度优化的库,其主要重点是实时应用程序。

OpenCV 库是2500多个优化算法的组合。它可以用来检测和识别不同的人脸,在图像中或实时识别物体,使用视频网络摄像头分类不同的人类行为,跟踪摄像机的运动,跟踪像汽车、人类等移动物体。

实时计数物体,将图像拼接在一起产生高分辨率图像,从图像数据库中找到类似的图像,从使用闪光灯拍摄的图像中去除红眼,提高图像质量,跟踪眼球运动,跟踪人脸等

它拥有大约4.7万活跃用户社区,估计下载量超过1800万次。许多大公司,如谷歌,亚马逊特斯拉,微软,本田等使用OpenCV,使他们的产品更好,更智能

先决条件

在开始编写代码之前,我们需要在我们的设备上安装 OpenCV 。如果你是专业的编程人员并且知道每一个 IDE,那么去 Pycharm 并且在设置中从它的包管理器中安装 OpenCV-python。

如果您是初学者或中级程序员,或者只是想关注该博客,那么我们将使用代码编辑器而不是IDE。只需转到Visual Studio Code网站并根据您的操作系统下载最新版本即可。现在,我们将创建一个虚拟环境,在其中将安装 OpenCV。打开终端,然后使用cd定位到桌面。使用名为opencv的mkdir创建一个文件夹然后在以下命令中运行。

python -m venv env

现在使用 env\\scripts\\activate 命令激活环境,你会看到在 C:\\Users\\username\\Desktop\\opencv 前出现一个带小括号的 (env)。现在只需使用 pip 安装 OpenCV。

pip install opencv-python

我们将在这个博客中涵盖7个主题:

  1. 读、写和展示一个图像
  2. 读取视频与集成网络摄像头
  3. 缩放和裁剪图像
  4. 使用函数的基本图像滤波器
  5. 绘制不同的形状
  6. 在图像上写文字
  7. 检测和裁剪人脸

读、写和展示一个图像

为了使用 OpenCV 读取图像,我们使用函数 imread() ,为了显示图像,我们使用函数 imshow() ,为了写入图像,我们使用函数 imwrite()。让我们看看每一个的语法。

imread():

img = cv2.imread("PATH_TO_IMAGE.jpg/png")


Example
img = imread("images/dog0.jpg")

imshow():

cv2.imshow("WINDOW NAME",IMG_VAR)


Example
imshow("Dog Image",img)

imwrite():

cv2.imwrite(FILENAME, IMAGE)
filename: A string representing the file name. The filename must include image format like .jpg, .png, etc.
image: It is the image that is to be saved.


Example
cv2.imwrite('images/img',img)

读取视频与集成网络摄像头

读取视频文件与读取 OpenCV 中的图像文件非常相似。不同之处在于我们使用 cv2.videocapture()

语法

video = cv2.VideoCapture("FILEPATH.mp4")


Example
video = cv2.VideoCapture("video/dog/dog.mp4")

视频是许多帧图像在一起的集合,每一帧都是一个图像。要使用 OpenCV 观看视频,我们只需要使用 while 循环显示视频的每一帧。

while True:
   success , img = cap.read()
   cv2.imshow("Video",img)
   if cv2.waitKey(1) & 0xff==ord('q'):##key 'q' will break the loop
       break

为了与网络摄像头集成,我们需要传递网络摄像头的端口值,而不是路径到视频。如果你使用的是笔记本电脑,没有连接任何外部摄像头,那么简单地传递0,如果你连接了任何外部摄像头,那么传递一个摄像头端口值。

cap = cv2.VideoCapture(0)
cap.set(3,640)  ## Frame width
cap.set(4,480)  ## Frame Height
cap.set(10,100) ## Brightness
while True:
   success, img = cap.read()
   cv2.imshow("Video",img)
   if cv2.waitKey(1) & 0xff == ord('q'):
        break
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72900
  • 计算机视觉
    +关注

    关注

    8

    文章

    1600

    浏览量

    45617
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40786
收藏 人收藏

    评论

    相关推荐

    60个重要的Python示例

    60个重要的Python示例
    发表于 10-26 09:29 475次阅读

    【Raspberry Pi 3试用体验】+Opencv+python的人脸识别

    == "__main__": process("kobe.jpg")接下来只要运行python xx.py过一会,如果图片内有人的话生成一文件夹,里面有一张人脸
    发表于 05-13 21:38

    IPC 3518 基于OpenCV的人脸特征提取 python

    安装完成后,建立python3的环境。2、创建环境3、安装Spyder4、安装OpenCV 5、安装包dlib输入命令conda install dlib=19.17.0如果不成功就输入pip
    发表于 12-25 18:35

    LabVIEW+Python+openCV

    的,动态链接库也需要配置,还需要知道各个参数含义和类型,这里提供另外一种方法,那就是PythonopenCV工具包,绝对开源和免费,LabVIEW可以利用Python节点调用Python
    发表于 12-07 20:59

    如何使用Python中的OpenCV模块检测颜色

    在这篇文章中,我们将看到如何使用 Python 中的 OpenCV 模块检测颜色,进入这个领域的第一步就是安装下面提到的模块。pip install opencv-pythonpip install
    发表于 02-09 16:31

    OpenCV-Python-Toturial-中文版

    python编写opencv的入门资料,介绍了python的各个函数的应用
    发表于 03-23 14:55 0次下载

    播放视频_OpenCV3版书本配套示例程序06

    OpenCV3编程入门》OpenCV3版书本配套示例程序06,使用VideoCapture类进行视频读取和播放。
    发表于 06-06 15:20 0次下载

    python图像处理opencv步骤是怎么样的

    越来越觉得python是一强大的工具,处理样本确实不错。最近因项目需要涉及到图片处理,所以开始用python调用opencv,再次觉得python真乃神器也!
    发表于 12-04 15:29 4233次阅读

    python代码示例之基于Python的日历api调用代码实例

    本文档的主要内容详细介绍的是python代码示例之基于Python的日历api调用代码实例。
    发表于 09-06 14:25 42次下载
    <b class='flag-5'>python</b>代码<b class='flag-5'>示例</b>之基于<b class='flag-5'>Python</b>的日历api调用代码实例

    如何使用Python OpenCV进行面部标志检测

    今天我们将使用相同的 OpenCV 和 Raspberry Pi 进行人脸标志检测。来自 dlib 库的预训练面部标志检测器模块将用于检测面部关键面部结构的位置,python OpenCV 将用于可视化检测到的面部部分。
    发表于 08-12 16:32 1241次阅读
    如何使用<b class='flag-5'>Python</b> <b class='flag-5'>OpenCV</b>进行面部标志检测

    Linux Debian与Python、Flask和OpenCV识别面部

    电子发烧友网站提供《Linux Debian与Python、Flask和OpenCV识别面部.zip》资料免费下载
    发表于 08-24 10:16 2次下载
    Linux Debian与<b class='flag-5'>Python</b>、Flask和<b class='flag-5'>OpenCV</b>识别面部

    使用opencvpython进行智能火灾检测

    电子发烧友网站提供《使用opencvpython进行智能火灾检测.zip》资料免费下载
    发表于 11-02 15:08 0次下载
    使用<b class='flag-5'>opencv</b>和<b class='flag-5'>python</b>进行智能火灾检测

    OpenCV常用的 7 个示例Python版)2

    OpenCV是计算机视觉领域最流行的库之一。它最初是用 C 和 C++ 编写的。现在也可以在 Python 中使用。它最初是由英特尔开发的。该库是一个跨平台的开源库。免费使用。OpenCV 库是一个高度优化的库,其主要重点是实时
    的头像 发表于 02-07 16:23 844次阅读

    OpenCV常用的 7 个示例Python版)3

    OpenCV是计算机视觉领域最流行的库之一。它最初是用 C 和 C++ 编写的。现在也可以在 Python 中使用。它最初是由英特尔开发的。该库是一个跨平台的开源库。免费使用。OpenCV 库是一个高度优化的库,其主要重点是实时
    的头像 发表于 02-07 16:23 792次阅读

    Python实现OpenCV的安装与使用

      本文实例讲述了 Python 实现 OpenCV 的安装与使用。分享给大家供 大家参考,具体如下:  由于下一步要开始研究下深度学习,而深度学习领域很多的算法和应 用都是用 Python 来实现
    发表于 07-20 11:46 7次下载