关于openCV学习中遇到的一些函数的总结

关于openCV学习中遇到的一些函数库的总结

1.读取写入图像文件

img = numpy.zeros((3,3),dtype=numpy.uint8)

通式:

numpy.zeros(shape,dtype,order)

作用:
通常是把数组换成想要的矩阵
返回值:
返回来一个给定形状和类型的数组
参数:
shape:定义返回数组的形状
dtype:生成矩阵的数据类型,可选参数,默认numpy.float64
order:{ ‘C’ , ‘F’ },可选,默认:‘C’,是否在内容中以行(‘C’)或列(‘F’)顺序存储多维数据。

img = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)

通式:

cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 );

作用:
对图像进行色彩空间的转换
返回值:
返回一个修改后的图像
参数:
InputArray src: 输入图像即要进行颜色空间变换的原图像,可以是Mat类(Mat类用来保存矩阵类型的数据信息,包括向量、矩阵、灰度或彩色图像等数据)
OutputArray dst:输出图像即进行颜色空间变换后存储图像,也可以是Mat类
int code : 转换的代码或标识,即在此确定将什么制式的图片转换成什么制式的图片
int dstCn:目标图像通道数,如果取值为零,则由src和code决定

import cv2

grayImage = cv2.imread('MyPic.png',cv2.IMREAD_GRAYSCALE)
cv2.imwrite('MyPicGray.png',grayImage)

通式:

cv2,imread(filename,flags)

作用:
读取图片,默认情况下,imread返回BGR格式的图像,即使该文件使用的是灰度格式
返回值:
返回读取的图片的信息
参数:
filename:所读入图片的路径
flags:标志位,用于指定imread的模式,如下列表所示:

  • cv2.IMREAD_COLOR:该模式是默认选项,提供3通道的BGR图像,每个通道一个8位值(0~255)
  • cv2.IMREAD_GRAYSCALE:该模式是提供8位灰度图像
  • cv2.IMREAD_ANYCOLOR:该模式提供每个通道8位的BGR图像或者8位灰度图像,具体取决于文件中的元数据
  • cv2.IMREAD_UNCHANGED:该模式读取所有的图像数据,包括作为第4通道的α或透明度通道(如果有的话)
  • cv2.IMREAD_ANYDEPTH:该模式加载原始位深度的灰度图像。例如,如果文件以这种格式表示一副图像,那么它提供每个通道16位的一副灰度图像。
  • cv2.IMREAD_ANYDEPTH | cv2.IMREAD_COLOR:该组合模式加载原始位深度的BGR彩色图像。
  • cv2.IMREAD_REDUCED_GRAYSCALE_2:该模式加载的灰度图像的分辨率是原始分辨率的1/2。例如,如果文件包括一副640 x 480的图像,那么它加载的是一副320 x 240的图像。
  • cv2.IMREAD_REDUCED_COLOR_2:该模式加载每个通道8位的BGR彩色图像,分辨率是原始图像的1/2
  • cv2.IMREAD_REDUCED_GRAYSCALE_4:该模式加载灰度图像,分辨率是原始图像的1/4
  • cv2.IMREAD_REDUCED_COLOR_4:该模式加载每个通道8位的彩色图像,分辨率是原始图像的1/4
  • cv2.IMREAD_REDUCED_GRAYSCALE_8:该模式加载灰度图像,分辨率是原始图像的1/8.
  • cv2.IMREAD_REDUCED_COLOR_8:该模式加载每个通道8位的彩色图像,分辨率位原始图像的1/8.
    2.在图像和原始字节之间进行转换
byteArray = bytearray(image)

通式:

bytearray([source[, encoding[, errors]]])

作用:
将对象转换为 bytearray 对象,或者创建指定大小的空字节数组对象。
返回值:
返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。
参数:

  • 如果 source 为整数,则返回一个长度为 source 的初始化数组;
  • 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
  • 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
  • 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
  • 如果没有输入任何参数,默认就是初始化数组为0个元素。
grayImage = numpy.array(grayByteArray).reshape(height,width)
bgrImage = numpy.array(bgrByteArray).reshape(height,width,3)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值