在java中 如何能获取窗口的画面,然后通过一张图片跟屏幕比对,如果有个地方相似

在java中 如何能获取窗口的画面,然后通过一张图片跟屏幕比对,如果有个地方相似,第1张

BufferedImage有getRGB(x,y) 方法,,,,,,逐点取来对比,哪点颜色不同就是不同了——也可以设定一个比率,多少比例不同才认为是不同的。。。

int

getRGB(int x,

int y)

返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中的整数像素

int[]

getRGB(int startX,

int startY,

int w,

int h,

int[] rgbArray,

int offset,

int scansize)

从图像数据的某一部分返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中整数像素数组。

24位BMP文件:(rrrrrrrr,gggggggg,bbbbbbbb), RBG通道中, 每个通道占8位, 每个通道都有256个值

那么, 24位BMP的颜色种类就有256x256x256种

思路:使用 javaawtImage包下的Image可以接收。读取则使用ImageIO对象。

代码如下:

/

读取,首先导入以下的包

/

import javaawtImage;

import javaximageioImageIO;

import javaio;

/

用Image对象来接收

路径根据实际情况修改

/

Image image = ImageIOread(new File("c:\\1png"));

Systemoutprintln(imagegetSource());

给个建议吧,不过我不知道行不行得通,我毕业设计是做图像处理的

你可以判断的其中一个像素点,彩色图一般都是RGB组合成的,格式是那种33的矩阵,而黑白图像的像素点是通过一个固定的公式转换来的,转换后的像素点是13的矩阵,你可以通过判断其中一个像素的列的个数来区分彩色还是黑白。。。如果可以的话就给下分吧,,谢谢!

以上就是关于在java中 如何能获取窗口的画面,然后通过一张图片跟屏幕比对,如果有个地方相似全部的内容,包括:在java中 如何能获取窗口的画面,然后通过一张图片跟屏幕比对,如果有个地方相似、java有bmp24位照片,怎样分析有多少种颜色、用java怎么读取图片等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/10148119.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存