2021-11-07

opencv图像的读取就是利用像素格的原理,通过cv2.imread()函数,遍历出每个像素格和像素格中的值,这里的三通道的图片,对应三维数组

  1. 图片读取cv2.imread()函数
    遍历出每个像素格和像素格中的值,然后保存到对应维度的数组中进行显示

img=cv2.imread(filepath,flags)
filepath : 图像路径,可以使用绝对或者是相对路径
flags : 读取的图片类型 (省略时,默认读入完整图片)

  • cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道|
  • cv2.IMREAD_GRAYSCALE:读入灰度图片|
  • cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道
  • 读入彩色图片

在这里插入图片描述
在这里插入图片描述

  • 读入灰度图片
  • 读入完整图片

在这里插入图片描述
在这里插入图片描述

  1. 图片显示cv2.imshow()函数

cv2.imshow(Name,img)
Name:图像显示框的名字,例如"photo",注意不要是中文
img:图像读取的像素组,显示图像的前提是先进行图像读取

在这里插入图片描述

  1. 图像保存函数cv2.imwrite()

cv2.imwrite(filepath,img,num)
filepath:保存文件路径
img:读取图像数组,要保存,先读取
num:可选参数
请添加图片描述

  1. 打印图像属性
    基本属性:像素、分辨率、大小、颜色、位深、色调、饱和度、亮度、色彩通道、图像的层次
    请添加图片描述

  2. 图像通道
    彩色图像的色彩为三基色B\G\R通过不同的比例混合而成,在图像像素中用[0-255表示]表示B\G\R颜色的深浅

请添加图片描述

  1. 图像的加法操作
    可以使用Opencv加法和Numpy加法,来把两幅图像相加。两个图像应该具有相同的大小和类型,或者第二个图像可以是标量值。但这两者存在区别,Opencv是饱和操作,而Numpy是模运算。
    通常opencv的效果要好一些
    在这里插入图片描述

  2. 不同的是两幅图像的权重不同,这就会给人一种混合或者透明的感觉
    图像混合的计算公式如下:g(x) = (1−α)f0(x) + αf1(x)。通过修改 α 的值(0 → 1),可以实现非常炫酷的混合。
    函数 cv2.addWeighted() 可以按下面的公式对图片进行混合操作。
    dst = α⋅img1 + β⋅img2 + γ。这里γ取为零。
    在这里插入图片描述

对于两幅图像的加法和混合操作,都需要两幅图像时相同大小。

  1. 图像的处理
  2. 图像的缩放

cv2.resize(src,dsize,fx=0,fy=0,interpolation=cv2.INTER_LINEAR)
src : 输入图像
dsize: 绝对尺寸,直接指定调整后图像的大小(需要整型)
fx,fy: 相对尺寸,将dsize设置为None,然后将fx和fy设置为比例因子即可
interpolation:插值方法

在这里插入图片描述

  1. 图像的平移

cv.warpAffine(img,M,dsize)
img: 输入图像
M: 2∗3移动矩阵
dsize: 输出图像的大小(宽度,高度)

在这里插入图片描述注意:将M设置为np.float32类型的Numpy数组。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值