目前用的是红外光。OV7725摄像头拍照,然后程序找点。
距离远的时候,光点离屏幕中心应该越近。发现的问题是红外光点光斑比较大,导致光点中心落在屏幕上的坐标点位置有变动,在某些距离内,光点拉远反而落在屏幕中心的位置变远了。
想问下有没有什么好的处理办法解决。
目前我测的数据是红外光点RGB数据为(240,252,248)/在15-65cm内,所以程序里用了if找点
if((red==240)&&(green==252)&&(blue==248))
然后将320*240个像素点中是红外光的点,计算其坐标位置
m=x/320;
n=x%320;
因为光点是一个区域,所以要算出光点的中心位置;问题就是前面提到的,光点大,所以中心位置不好算,想问下有没有什么好的方法?
下面是网上找到的三角测距原理图。
找到光点中心,可以根据qx=fs算出距离q,问题在于焦距f是我手动调出来的,大小未知;s是红外发射管和摄像头中性轴的距离,显然也是未知数。
x可以根据找到的光点中心坐标和屏幕中心坐标(119.5,159.5)的位置算出来;q是待求的距离。
这里有好几个未知数,距离怎么算?
论坛里好像找不到三角测距的帖子,打了这4个关键字,只搜到2个帖子!!
是不是stm32f103做不了三角测距啊。
就这些疑问,多谢。
一周热门 更多>