上QQ阅读APP看书,第一时间看更新
4.2.3 数组切片和裁剪
提取“感兴趣区域”(ROI)是图像处理的一个重要技能。
比如,你需要识别电影中的人脸。首先,你需要运行一个人脸检测算法来查找你使用的所有帧中人脸的位置坐标。然后,你需要提取面部ROI并保存或处理它们。在我们的面部识别小项目中,要在我的照片中找到包含我的所有帧。
现在,手动提取ROI。可以通过数组切片来完成,具体实现代码如下。
# 从输入图像中提取100x100像素的矩形ROI(感兴趣区域), #22 # 从x =300,y = 150开始,结束于x = 400,y = 250 #23 roi = image[150:250, 300:400] #24 cv2.imshow("ROI", roi) #25 cv2.waitKey(0) #26
第24行使用了数组切片,格式为:image [startY:endY,startX:endX]。在第25行的代码中获取了一个ROI。就像上次一样,在按下一个按键之前,图像将一直显示(第26行)。
如图4-2所示,运行代码后成功提取出人脸。
图4-2 使用OpenCV进行数组切片,可以轻松提取感兴趣区域(ROI)