我正在尝试找到我在图像上绘制的线条斜率。i want to find slop of given lines on image
(但这是触摸事件我想计算斜率,因为相机移动它的代码为机器人。相机在机器人的头上,如果给定图像中的两条线的斜率相同,它将在走廊中移动,这意味着机器人是在中心,我希望通过使用红色瓷砖来回答。并且计算不会在触摸事件上,而是通过在运行时改变图像位置)我使用位图来查找每个像素的颜色。我的目标是红色瓷砖开始注意点(a)然后类似地找到点(b)来计算线的斜率。对于另一方面的行也是如此。这是我到目前为止所做的代码。如果我提出错误的问题,我是新的原谅。谢谢提前
Car.Id
答案 0 :(得分:0)
要查找任何直线的斜率,您需要触摸屏幕并离开屏幕的索引。触摸屏幕ACTION_DOWN
抛出事件,当屏幕离开时,抛出ACTION_UP
。触摸屏幕时会存储(x1,y1)
,并在您离开屏幕时计算(x2,y2)
。现在你可以用slop方程式找到这两个指数的斜率:
m (slop of any straight line) = (y2-y1)/(x2-x1)
以下是一些源代码,希望您对它有所帮助。
int x1,x2,y1,y2;
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction()== event.ACTION_DOWN){
x1 = (int) event.getX();
y1 = (int) event.getY();
}
if(event.getAction()== event.ACTION_UP){
x2 = (int) event.getX();
y2 = (int) event.getY();
double slop = (y2-y1)/(x2-x1);
}
}