百度飞桨学习笔记——图像分类(按顺序)
收藏
1.图像翻转——cv2.flip(img,num)
img为要进行翻转的图像,num为翻转参数——0为垂直翻转,1为水平翻转,-1为水平垂直翻转,返回值为翻转后的图像
2.图像裁剪
图像由三个维度组成——图像长,图像宽,通道数。对图像数组进行切片即可实现裁剪。如img[100:200,:]表示裁剪图像从长度100到长度200,得到一个长为100,宽不变的一个裁剪图像。注意,坐标的原点是图像的左上角。
3.调整图像亮度
先把图像转换成numpy矩阵,用该矩阵乘某个系数就可实现亮度的变化。比如*1表示亮度不变,*0.5表示亮度减少为0.5倍,*1.5表示亮度增加一倍。图像的像素值越接近0就越暗,越接近255就越亮。注意,一是只有numpy矩阵(三维数组)可以与数值相乘,二维数组不行;二是当numpy的值超出类型上限时会截去超出的部分,直接使用numpy乘以某个亮度系数可能会出错。这里有一个技巧:输入图像矩阵,遍历三个通道矩阵的每个元素,每个元素乘以亮度系数、取整,若像素值超出255就设其为255,可避免出错。
4.图像色调变换
直接用255-img就可以实现色调取反——img是numpy的图像矩阵。转换成灰度图——使用cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)。这里要注意图像的通道是RGB而不是BGR。调整饱和度要用到图像的hsv形式——用cv2.cvtColor(image, cv2.COLOR_RGB2HSV)转换。转换后图像就变成了[色相,饱和度,明度]。对饱和度通道乘饱和度系数即可实现图像的饱和度增减。
0
收藏
请登录后评论