相关疑难解决方法(0)

尽可能快地获得bufferedimage和bufferedimage部分的平均颜色

我想在图像中找到图像.我这样做是为了桌面自动化.在这一刻,我想要快速,而不是精确.因此,我决定仅根据相同的平均颜色匹配相似的图像.

如果我在桌面上选择几个图标,例如:

几个桌面图标

我将搜索最后一个(我仍然想知道这个文件是什么):

一些文件图标

您可以清楚地看到最有可能匹配的内容:

图像显示区域中的平均颜色

在不同的情况下,这可能不起作用.但是,当给出图像大小时,它应该非常可靠且闪电般快速.

我可以将截图作为BufferedImage对象:

MSWindow window = MSWindow.windowFromName("Firefox", false);
BufferedImage img = window.screenshot();
//Or, if I can estimate smaller region for searching:
BufferedImage img2 = window.screenshotCrop(20,20,50,50);
Run Code Online (Sandbox Code Playgroud)

当然,搜索图像的图像将从保存在文件中的模板加载:

BufferedImage img = ImageIO.read(...whatever goes in there, I'm still confused...);
Run Code Online (Sandbox Code Playgroud)

我解释了我所知道的一切,以便我们可以专注于唯一的问题:

  • 问:如何在缓冲图像上获得平均颜色?如何在该图像的子矩形上获得这样的平均颜色?

速度在这里获胜.在这种特殊情况下,我认为它比代码可读性更有价值.

java bufferedimage computer-vision

3
推荐指数
1
解决办法
4326
查看次数

标签 统计

bufferedimage ×1

computer-vision ×1

java ×1