cv2 imread函数 python_opencv-python图形图像处理入门基础知识

本文是OpenCV-Python的入门教程,介绍了如何使用imread函数读取图像,包括读取模式、返回值以及案例展示。此外,讲解了如何显示图像、利用VideoCapture读取摄像头和视频,以及处理鼠标和键盘事件。还涵盖了OpenCV的矩形绘制、颜色空间转换、图像阈值处理,特别是自适应阈值化方法,以及图像修复方法inpaint。文章适合OpenCV初学者学习。
摘要由CSDN通过智能技术生成

OpenCV 是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大。OpenCV-Python为OpenCV提供了Python接口,使得使用者在Python中能够调用C/C++,在保证易读性和运行效率的前提下,实现所需的功能。

一、安装

安装方法有多种,老猿机器上无C++环境,因此直接使用pip安装,OpenCV-Python模块名为opencv-python(在windows下大小写不敏感,其他操作系统没验证),具体安装命令如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

二、加载OpenCV

导入OpenCV 模块指令很简单:

import cv2 as cv

大多数OpenCV 的函数都在cv2模块内,cv2并不是版本2.X的意思,而是因为这个版本是在原cv版本的基础上采用了面向对象编程的方式重新实现,提供了更好的API接口。

三、读取图像文件

3.1、语法:imread(filename,mode)

3.2、参数说明

  • filename:图像文件名,不同操作系统支撑的文件类型不一样,但都支持bmp图像文件,另外可能还包括jpeg、png、tiff等格式文件
  • mode:文件读入模式,常用有三种取值
  1. cv.IMREAD_COLOR: 对应值为1,加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。
  2. cv.IMREAD_GRAYSCALE:对应值为0,以灰度模式加载图
  3. cv.IMREAD_UNCHANGED:对应值为-1,加载图像,包括alpha通道;

注意:除了这三个常用取值,还可以有多个取值,相关取值及含义如下:

c18e76d2f0e065204cd774f5b345d60d.png

3.3 返回值说明

imread返回一个BGR格式的图像对象,其类型为一个numpy数组。

3.4、案例

img = cv2.imread(r'F:screenpicedflower.jpg')

注意:

  1. 图片文件名不能是中文名,否则识别会报错或不能读入;
  2. imread会去除图像的alpha通道信息

四、显示图像

4.1、调用语法:imshow(title,img)

4.2、参数说明:

  • title:图像显示窗窗口标题和名字
  • img:opencv图像对象

imread读入的函数使用imshow即可显示,显示可以给显示窗设定标题,这个标题也是显示窗口的名字,标题不同的imshow会显示不同窗口。标题为一个英文字符串,相同标题的窗口就是同一个窗口。对于窗口,OpenCV提供鼠标及键盘事件处理机制。

imshow的窗口可以通过destroyWindow和destroyAllWindows进行关闭,前者要带窗口的标题,后者是关闭所有由当前程序创建的窗口。

4.3、案例

img = cv2.imread(r'F:screenpicedflower.jpg')

cv2.imshow('img',img)

五、VideoCapture读取摄像头、图像文件、或视频流

VideoCapture既支持从视频文件(.avi , .mpg格式)读取,也支持直接从摄像机(比如电脑自带摄像头)中读取。要想获取视频需要先创建一个VideoCapture对象,VideoCapture对象的创建方式有以下三种:

调用语法:

VideoCapture(int deviceIndex,int apiPreference = CAP_ANY ):打开摄像头捕获视频。deviceIndex为摄像头序列号,打开缺省摄像头传0,apiPreference 为VideoCapture API后端标识符,老猿没有仔细研究,用缺省值即可

VideoCapture(filename,int apiPreference = CAP_ANY):打开filename指定的文件

更多VideoCapture的内容请参考《opencv学习—VideoCapture 类基础知识》。

下面的代码打开缺省摄像头捕获视频,并将捕获内容显示为窗口视频,并写入视频文件中保存,按q终止退出&#x

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值