鱼C论坛

 找回密码
 立即注册
查看: 2144|回复: 17

[已解决]【Python新手求助】关于Python3是否能识别屏幕单一坐标颜色并与指定颜色进行对比

[复制链接]
发表于 2020-2-17 21:05:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
以前用按键精灵写过一些检测某一坐标区块像素点颜色,然后与给定颜色进行判断,相同输出Ture,不相同输出False的脚本,觉得挺方便的。但是好像Python并没有这个功能?如果有,怎么调用?如果没有,还有没有其他相似的可以用来代替的方法?(按键精灵那种大概来说就是通过捕捉屏幕变化后某一区块颜色必定发生的点变化来感知屏幕变化,从而告诉程序是否执行下一步。)
最佳答案
2020-2-19 16:33:50
lzymm1 发表于 2020-2-17 21:50
是指第零行第一个数值吗?好像这样用来对比的话有点麻烦?想问一下你们平时是怎么检测屏幕变动的?就比如说 ...

监测某程序是否打开,不是监控屏幕画面,是检查系统的任务管理器表,看对应进程是否出现,也有的是查找窗口句柄。
浏览器内部的页面是否打开,则是检查窗口句柄(浏览器的状态栏),当浏览器存在对外接口时,外部程序要检测页面是否打开的话,只需接入接口获取窗口的信息。

P.S.我并不知道能做到这种事的库是哪个,也并不知道转化成代码后是什么样的代码,我只是知道做这样的事的过程大概如何而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-17 21:11:08 | 显示全部楼层
我倒是有一个思路,先截全屏,然后再使用 OpenCV 将图片转化为 NumPy 数组

https://fishc.com.cn/forum.php?m ... peid%26typeid%3D803
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 21:14:10 | 显示全部楼层
zltzlt 发表于 2020-2-17 21:11
我倒是有一个思路,先截全屏,然后再使用 OpenCV 将图片转化为 NumPy 数组

https://fishc.com.cn/forum. ...

其实,我想要的是实时监测
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 21:14:46 | 显示全部楼层
lzymm1 发表于 2020-2-17 21:14
其实,我想要的是实时监测

不影响啊,就是实时监测
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 21:25:33 | 显示全部楼层
zltzlt 发表于 2020-2-17 21:14
不影响啊,就是实时监测

img.shape输出的是图片的行数跟列数吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 21:26:33 | 显示全部楼层
lzymm1 发表于 2020-2-17 21:25
img.shape输出的是图片的行数跟列数吗?

输出元组的第一个元素是图片的长,第二个元素是图片的宽。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 21:35:21 | 显示全部楼层
zltzlt 发表于 2020-2-17 21:26
输出元组的第一个元素是图片的长,第二个元素是图片的宽。
  1. import cv2
  2. img = cv2.imread(r"C:\Users\Administrator\Desktop\脚本文件\脚本截图保存\截图1.png",0)
  3. print(img)
复制代码

然后非常尴尬的一幕出现了
  1. None
复制代码

是哪里弄错了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 21:40:23 | 显示全部楼层
zltzlt 发表于 2020-2-17 21:26
输出元组的第一个元素是图片的长,第二个元素是图片的宽。

哦我知道了原来是路径不能有中文
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 21:40:50 | 显示全部楼层
lzymm1 发表于 2020-2-17 21:40
哦我知道了原来是路径不能有中文

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 21:41:34 | 显示全部楼层
@小甲鱼 请帮他改一下主题分类(该帖子没有主题分类)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 21:45:28 | 显示全部楼层

我试了一下大概明白了,但是好像只写了如何载入图片,没有颜色对比吧?你说的使用OpenCV将图片转化为NumPy数组是在哪一步的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 21:46:00 | 显示全部楼层
lzymm1 发表于 2020-2-17 21:45
我试了一下大概明白了,但是好像只写了如何载入图片,没有颜色对比吧?你说的使用OpenCV将图片转化为NumP ...

img 就是 NumPy 数组,可以用索引访问每一个元素。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 21:46:36 | 显示全部楼层
zltzlt 发表于 2020-2-17 21:46
img 就是 NumPy 数组,可以用索引访问每一个元素。

有具体用法吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 21:47:01 | 显示全部楼层
lzymm1 发表于 2020-2-17 21:46
有具体用法吗?
  1. import cv2
  2. img = cv2.imread(r"C:\Users\Administrator\Desktop\脚本文件\脚本截图保存\截图1.png",0)
  3. print(img[0][1])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 21:50:37 | 显示全部楼层
本帖最后由 lzymm1 于 2020-2-17 21:58 编辑

是指第零行第一个数值吗?好像这样用来对比的话有点麻烦?想问一下你们平时是怎么检测屏幕变动的?就比如说程序的第一步是打开浏览器,然后第二步怎么让程序知道它打没打开,浏览器主页加载好没有?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 22:46:57 | 显示全部楼层
本帖最后由 lzymm1 于 2020-2-17 22:51 编辑


在吗老哥 @zltzlt
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-18 15:37:57 | 显示全部楼层
a
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-19 16:33:50 | 显示全部楼层    本楼为最佳答案   
lzymm1 发表于 2020-2-17 21:50
是指第零行第一个数值吗?好像这样用来对比的话有点麻烦?想问一下你们平时是怎么检测屏幕变动的?就比如说 ...

监测某程序是否打开,不是监控屏幕画面,是检查系统的任务管理器表,看对应进程是否出现,也有的是查找窗口句柄。
浏览器内部的页面是否打开,则是检查窗口句柄(浏览器的状态栏),当浏览器存在对外接口时,外部程序要检测页面是否打开的话,只需接入接口获取窗口的信息。

P.S.我并不知道能做到这种事的库是哪个,也并不知道转化成代码后是什么样的代码,我只是知道做这样的事的过程大概如何而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 06:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表