Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BuffereImage=Robot.createScreenCapture()速度不够快_Java_Image_Performance - Fatal编程技术网

Java BuffereImage=Robot.createScreenCapture()速度不够快

Java BuffereImage=Robot.createScreenCapture()速度不够快,java,image,performance,Java,Image,Performance,我正在尝试制作一个机器人,它可以为我玩facebook messenger篮球或足球(因为我真的很不擅长)。几年前我甚至做了一些事情,但这两场比赛都有问题。在篮球比赛中,当篮筐开始快速移动时,我的程序在计算中出错;在足球比赛中,当球开始快速移动时,我的程序出错。我使用了屏幕片段的Robot.createScreenCapture(),然后将其保存在BuffereImage中,我检查了图像中的每个像素,但速度不够快(我也尝试了使用Piano Tiles 2)。我需要更快的东西。您没有提供有关如何在

我正在尝试制作一个机器人,它可以为我玩facebook messenger篮球或足球(因为我真的很不擅长)。几年前我甚至做了一些事情,但这两场比赛都有问题。在篮球比赛中,当篮筐开始快速移动时,我的程序在计算中出错;在足球比赛中,当球开始快速移动时,我的程序出错。我使用了屏幕片段的Robot.createScreenCapture(),然后将其保存在BuffereImage中,我检查了图像中的每个像素,但速度不够快(我也尝试了使用Piano Tiles 2)。我需要更快的东西。

您没有提供有关如何在BuffereImage对象中定位球的详细信息

你可以:

  • 通过所谓的对数搜索提高定位过程的有效性
  • 使用运动预测技术减少搜索区域
如果您没有尝试过这两种方法中的任何一种(您提到了“…每个像素…”),我将从第一种开始:通过在粗糙网格中扫描像素来查找球的大致位置,然后在近似位置周围的缩小搜索区域中优化位置


要使用粗网格,我的意思是扫描第n行和第n列,其中n是球的半径,或者更精确地说是sqrt(2*r*r)

什么不够快?屏幕截图本身?这是众所周知的:,,和其他。还是你的分析太慢了?然后向我们展示您是如何进行“像素检查”的。否则,我们只能猜测。我不知道什么速度不够快,我的程序只是点击错误,所以它要么是扫描过程,要么是截屏本身。我只是使用for循环,这是一种原始的方式,但应该比它快。当我制作篮球机器人时,我只检查了一行像素,但速度不够快,所以可能屏幕截图不够快。也许我必须使用图形卡,但我不知道如何制作这样的东西。