方案基于Matlab2018,Python 2.7、Opencv 3.4实现,实现流程如下:
- 首先,使用Matlab,进行双目摄像头的标定;
- 其次,识别特定颜色;
- 最后,使用双目测距公式得到特征点的距离。
摄像头标定
首先进行摄像头的标定,具体标定流程,点击https://blog.csdn.net/suoxd123/article/details/79154170 查看
识别特定颜色物体
在cvt颜色空间中,使用颜色对应范围进行过滤,详细代码如下
def findTargetPoint(self,frameRectified):
hsvImg = cv2.cvtColor(frameRectified, cv2.COLOR_BGR2HSV)
maskImg = cv2.inRange(hsvImg, self.lower_range, self.upper_range)
# Detect contour for both left and right images
(_, cntsImg, _) = cv2.findContours(maskImg, cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
# If the spot is out of view, then go to next frame