2024-09-29 11:26:59 发布
网友
我有两个USB网络摄像头(固定焦距)设置为一个简单的stereoscopic rangefinder,间距为N毫米,每个摄像头向中心线旋转M度,我已经calibrated the cameras以确保对齐。在
当调整角度时,我如何测量图像之间的重合度(最好是Python/PIL/OpenCV)以知道相机何时聚焦在一个物体上?它是否简单到在每个图像中选择一部分像素(a行乘以B列)并计算像素之间的差值之和?在
问题是您无法假设相机的像素完美对齐
假设x-轴是视差位移轴,y-轴对齐。您需要识别x轴图像失真/偏移,以检测视差对齐,即使您已尽可能对齐。abs差分的结果不一定在min/max中,因此,不是减去单个像素,而是减去该像素附近区域的平均颜色,其半径/大小大于y-axis中的对齐误差。让我们把这个半径或大小称为r,这样在对齐时产生的差异应该是最小的。在
x
y
min/max
y-axis
r
近似搜索
您甚至可以通过r来加快这个过程
0.25*r
x0
<x0-2.0*r,x0+2.0r>
这样您就可以在O(log2(n))中搜索,而不是O(n)
O(log2(n))
O(n)
计算机视觉方法
这应该更快:
这种方法可以避免检查整个x范围,因为对齐距离是直接获得的。。。你只需要把它转换成角度或者任何你用来校准视差的东西
[注意事项]
你不需要在整个图像区域上这样做,只需沿图像选择几条水平线并扫描它们附近的区域。在
还有另一种方法来检测对齐,例如对于短距离,倾斜是对齐的重要标记,因此比较相机之间对象在其左右两侧的高度。。。如果在同一个地方你被排成一条直线如果大/小你没有对齐并且知道该往哪边转。。。在
问题是您无法假设相机的像素完美对齐
假设
x
-轴是视差位移轴,y
-轴对齐。您需要识别x轴图像失真/偏移,以检测视差对齐,即使您已尽可能对齐。abs差分的结果不一定在min/max
中,因此,不是减去单个像素,而是减去该像素附近区域的平均颜色,其半径/大小大于y-axis
中的对齐误差。让我们把这个半径或大小称为r
,这样在对齐时产生的差异应该是最小的。在近似搜索
您甚至可以通过
r
来加快这个过程r
0.25*r
x0
)r
改为一半<x0-2.0*r,x0+2.0r>
之间r
小于几个像素,则停止这样您就可以在
O(log2(n))
中搜索,而不是O(n)
计算机视觉方法
这应该更快:
这种方法可以避免检查整个x范围,因为对齐距离是直接获得的。。。你只需要把它转换成角度或者任何你用来校准视差的东西
[注意事项]
你不需要在整个图像区域上这样做,只需沿图像选择几条水平线并扫描它们附近的区域。在
还有另一种方法来检测对齐,例如对于短距离,倾斜是对齐的重要标记,因此比较相机之间对象在其左右两侧的高度。。。如果在同一个地方你被排成一条直线如果大/小你没有对齐并且知道该往哪边转。。。在
相关问题 更多 >
编程相关推荐