Python数字图像处理之opencv基本函数

opencv基本函数

图像处理流程一般包括加载、处理、显示和保存等步骤。



前言

opencv-python采用numpy的ndarray多维数组保存图像数据,因此,除了可以使用opencv提供的函数对图像进行处理外,还可以利用numpy以及其他基于numpy的扩展包,如scikit-image、scipy、matplotlib等提供的函数来处理图像。


一、opencv函数—cv2.imread

cv2.imread()函数

函数功能从文件中读取图像数据
函数原型retval=cv2.imread(filename[,flags])
filename字符串类型,指定图像文件名。图像文件应保存在当前工作目录,或者给出包含图像文件完整路径(绝对路径或相对路径)的文件名。需要注意的是,即使filename无效,也不会提醒出错信息。若返回值retval为none,则表明图像读取失败。
flags整数类型,用于指定图像文件的读入方式标志。
返回值retval-图像数据,numpy的ndarray型多维数组,数组的维数取决于读入图像的颜色通道数,如彩色图像为3维度数组,灰度图则为2维度数组。若none则表明读取图像失败。

flags的标志类型

flags标志描述
cv2.IMREAD_COLOR默认值,按照BGR颜色通道方式读取图像。如果图像具有透明度alpha通道,将会被忽略;如果是索引图像,则转换为真彩色图像;如果是灰度图,返回值retval为BGR颜色通道彩色图数据格式。该标志可用整数1代替
cv2.IMREAD_GRAYSCALE灰度图像,按照单通道的方式读入图像,彩色图像将被转换为灰度图像。该标志可用整数0代替
cv2.IMREAD_UNCHANGDE按照解码得到的方式读入图像,不改变图像数据格式。如果图像含有alpha通道,一并读入。该标志可用整数-1代替。

目前,opencv支持的图像文件格式主要有:

文件类型扩展名
windows位图(Windows bitmaps).bmp,.dib
JPGE文件.jpge,.jpg,*.jpe
JPGE2000文件*.jp2
轻便网络图形文件*.png
webp文件*.webp
轻便图像格式文件.pbm,.pgm,.ppm,.pxm,*.pnm
sun rasters栅格文件.sr,.ras
TIFF文件tiff,.tif

二、opencv函数—cv2.imwrite

cv2.imwrite()

函数功能将图像数据保存到指定文件
函数原型retval=cv2.imwrite(filename,img[,params])
filename字符串类型,指定图像文件名,需要包含图像文件的扩展名,如.jpg,filename若不包含目录路径,则将图像文件保存到当前工作目录,可在filename中指定保存文件的相对路径或绝对路径
imgndarray类型的多维度数组,图像数据数组变量
params可选参数,用于指定与保存的图像文件格式相关的控制参数
返回值retvalretval-bool变量,true保存成功,false保存失败。

三、opencv函数—cv2.imshow

cv2.imshow()

函数功能在指定的窗口中显示图像
函数原型cv2.imshow(winname,mat)
winname字符串类型,指定显示窗口的名字。如果不存在,则建立显示窗口。
matndarray型数组,要显示的图像数组变量

四、opencv函数—cv2.waitKey

cv2.waitKey()

函数功能键盘绑定等待函数,等待键盘输入
函数原型retval=cv2.waitKey([,delay])
delay整数类型,指定键盘输入事件的等待时间,单位为毫秒。若delay>0,函数将原地等待指定的delay毫秒,并检测是否存在键盘输入。在指定的delay时间延时结束前,如果按下任意键,结束等待,程序继续运行,函数返回值为-1,。如果delay<=0,函数将会无限期限等待键盘的输入,可以用来检测特定键是否按下,如检测esc键是否按下。
返回值retval-整数类型,按键的码值,或者-1

五、opencv函数—cv2.namedWindow

cv2.nameWindow()

函数功能创建一个指定名称的显示窗口
函数原型cv2.nameWindow(winname[,flags])
winname字符串类型,指定创建的窗口名称。可把该字符串作为函数cv2.imshow(winname,mat)的第一个参数,将图像显示在该窗口内。
flags整数类型,指定窗口模式标志,默认值cv2.WINDOW_AUTOSIZE,窗口根据显示图像的尺寸自动确定大小,不能使用鼠标调整。若采用cv2.WINDOW_NORMAL,就可以用鼠标拖拽调整窗口大小。

六、opencv函数—cv2.videoCapture

cv2.videoCapture()

函数功能创建一个VideoCapture对象
函数原型=cv2.VideoCapture(index[,apiPreference])=cv2.VideoCapture(filename[,apiPreference])
index整数类型,要打开的视频采集设备的id号。若采用默认的视频采集设备和API后端,则令index为0
filename字符串类型,视频文件(可包含文件路径)、视频流的url地址或者图像序列
返回值< VideoCapture object>,返回一个视频对象,具有多个成员函数,用于操作视频源。

七、opencv函数—cv2.VideoWrite

cv2.VideoWrite()

函数功能创建一个保存视频文件的VideoCapture对象
函数原型vidobj=cv2.VideoWrite(filename,fourcc,fps,frameSize[,isColor])
filename字符串,指定保存的视频文件名,可包含文件存放的路径,并使用扩展名指定视频文件的类型,如常见的avi、MP4等
fourcc字符串,指定保存的视频文件的视频编码器类型,4字符标识代码,如‘XVID’
frameSize整数元组,指定保存的视频图像帧的宽、高,格式(width,hight)
isColorbool类型,如果true保存的视频为彩色图像,若为false则保存为灰度
返回值视频对象VideoCapture对象

参考文献

参考书籍:张运楚,python数字图像处理,中国建筑工业出版社

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值