2.1OpenCV预处理
OpenCV预处理
预处理是基本流程,和数据分析前先数据清洗一样。有固定的流程和套路,任何一本Opencv教材都包含这部分内容。
感兴趣区域
好处:
- 减少无关信息的干扰
- 加快计算速度
地平线以上的内容其实和我们关系不大,只有检测行人的时候才会有影响。可以在检测到斑马线的时候计算完整图片。
所以我们先设置roi
(感兴趣区域)为图像的下面的50%
def extract_roi(image ,roi_start_ratio=0.5):
"""提取感兴趣区域(ROI)
Args:
image: 输入的BGR图像
roi_start_ratio: 感兴趣区域。(0表示整张都感兴趣、0.5表示下半部分感兴趣)
Returns:
roi_image: ROI区域图像
"""
# 获取图像尺寸
height, width = image.shape[:2]
# 计算ROI起始行(从图像中部开始,关注前方地面)
roi_start = int(height * roi_start_ratio)
# 提取ROI区域(图像下半部分)
roi_image = image[roi_start:height, 0:width]
return roi_image