CV — 图像预处理
一、常见手段
1. BRG -> RGB
我们通过cv2读图片时,数据读取的通道顺序是bgr,并且是height, width, channel的排列方式,需要将 BGR 转为 RGB 格式。
-
操作代码:
img = cv2.imread("img_path") img = img[:,:,::-1]
-
解释说明:
img[:,:,::-1]也就是我们任意不改变width维的方式,也不改变height维的方式,仅仅改变channel维的方式,并且是倒序排列,原本的bgr排列方式经过倒序就变成了rgb的通道排列方式。
-
展示效果:
左边为原图(BRG),右边为转化成 RGB 的图像
-
参考资料:https://felaim.blog.csdn.net/article/details/108868536
2. 图像归一化
-
处理代码:
# 代码中看到图像的2种处理方式: img/255.0 img/127.5 - 1 # 在处理之前需要进行类型转化 x = x.astype(np.float32)
-
解释说明:
第一种是对图像进行归一化,范围为[0, 1],第二种也是对图像进行归一化,范围为[-1, 1],这两种只是归一化范围不同,为了直观的看出2种区别,分别对图像进行两种处理,从图中可以看出, 第二种方式图像显示的更黑,其直方图如下:
-
参考资料:https://blog.csdn.net/wind82465/article/details/108711150