先描述一下使用场景:
我要识别一个红灯,已经把目标准确的提取出来了,二值图像中白色为目标物,现在要算出二值图中的白色像素点的坐标。因为之后需要移植到树莓派,所以需要高效的方法。
需要找出白色中心点
-
第一想到的肯定就是for for 了,然而效率太低,320*240迭代下来花费10ms。优点效果好,稳定在目标物的中心。
优化的方法:
1、在不丢失目标的情况下缩小图像进行扫描
2、内循环根据因子迭代,不满足则下一层。也就是在行扫描的时候,如果满足则条件设为后一个像素,不满足则进行下一行扫描。(问题:如果目标区域不连续,该行扫描不完就跳出了)
#传统扫描 :耗时10ms 约占总时间1/3,显然很浪费。优点:在图像处理算法准确的时候坐标精确
#优化方式:1、在不丢失目标的情况下缩小图像进行扫描 2、内循环根据因子迭代,不满足则下一层
def get_Target_Location(image):
size = image.shape