用颜色特征跟踪视频中的物体
问题背景和基本思路
这里模拟提取图片中的手机壳。
发现手机壳有一个显著的特征,就是颜色基本都是蓝色。
所以这里尝试把”蓝色“区域提取出来,然后绘制一个长方形包络这个蓝色区域。
核心代码
蓝色是一个广义的概念,对应到RGB中,其实是一个范围,设定蓝色的范围:
# 设置蓝色的上下界,即蓝色的范围
blueLower = np.array([100,67,0],dtype = "uint8")
blueUpper = np.array([255,128,50],dtype = "uint8")
找出属于蓝色区间的区域:
# 找出图片中的蓝色区域,返回的其实是一个蒙版
blue = cv2.inRange(frame,blueLower,blueUpper)
这个blue
实际上是一个蒙版
对提取出来的轮廓,按照面积进行排序
# 找出面积最大的轮廓,按照面积逆序排列
cnt =