如何使用位图使用两个点找到slop?

时间:2018-04-21 12:29:14

标签: android

我正在尝试找到我在图像上绘制的线条斜率。i want to find slop of given lines on image

(但这是触摸事件我想计算斜率,因为相机移动它的代码为机器人。相机在机器人的头上,如果给定图像中的两条线的斜率相同,它将在走廊中移动,这意味着机器人是在中心,我希望通过使用红色瓷砖来回答。并且计算不会在触摸事件上,而是通过在运行时改变图像位置)我使用位图来查找每个像素的颜色。我的目标是红色瓷砖开始注意点(a)然后类似地找到点(b)来计算线的斜率。对于另一方面的行也是如此。这是我到目前为止所做的代码。如果我提出错误的问题,我是新的原谅。谢谢提前

Car.Id

1 个答案:

答案 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);
        }
}