python识别电脑图像_计算机屏幕图像识别
这个答案实现了我在评论中所说的。在
我对你的代码做了一点修改,用opencv避免了形式的变化。代码是用python3.5编写的
为了提取数字,我将图像按列求和并缩放结果数组以得到check。我在这里操作您已经剪切的gray图像,有效地去除了下划线。在x_sum = np.sum(gray, axis = 0)
check = ((x_sum)/np.max(x_sum)*10)
该数组现在可用于与阈值进行比较,以识别字母/数字所在的区域,例如:
^{pr2}$
现在,我们将使用此信息修改图像并删除check数组值为0的区域,例如:
^{3}$
因此我们有这样的形象:
你已经在做的事情还可以进一步处理。这提供了独立的字母/数字,然后可以进行后处理以供学习。在
下一步是缩放字母/图像的大小,这些字母/图像由相同数量的特征描述。在
最后,您可以使用预训练分类器来预测最可能的字母/数字。在
完整代码如下:import numpy as np
import os
import matplotlib.pyplot as plt
from scipy.stats import mstats
import scipy
from matplotlib import gridspec
from PIL import Image
image = Image.open("testl.png")
f = image.convert('I')
gray = np.array(f)
gray[gray<200] = 0
gray[gray>=200] = 255
gray = gray[~np.all(gray == 255, axis=1)]
gray = gray[:,~np.all(gray == 255, axis=0)]
gray = gray[~np.all(gray == 0, axis=1)]
plt.imshow(gray, cmap='gray')
x_sum = np.sum(gray, axis = 0)
check = ((x_sum)/np.max(x_sum)*10)
plt.plot((check<8).astype(int))
plt.show()
plt.matshow(gray)
plt.show()
for idx,i in enumerate((check<8).astype(int)):
if i < 1:
gray[:,idx] = 255
plt.matshow(gray)
plt.show()
words = np.hsplit(gray, np.where(np.all(gray >= 200,axis=0))[0])
gs = gridspec.GridSpec(1,len(words))
fig = plt.figure(figsize=(len(words),1))
i = 0
for word in words:
word = word[:,~np.all(word >= 230, axis=0)]
if(word.size):
ax = fig.add_subplot(gs[i])
print (word.shape)
i = i + 1
ax.matshow(word, aspect = 'auto')
plt.show()
最后生成所有独立的字母/数字,例如:
python识别电脑图像_计算机屏幕图像识别相关推荐
- python识别滑块验证码_干掉验证码!使用Python图像识别移动滑块验证码
文章来源:python干货铺子 ❞ 前言 验证码往往是爬虫路上的一只拦路虎,而其花样也是层出不穷:图片验证.滑块验证.交互式验证.行为验证等.随着OCR技术的成熟,图片验证已经渐渐淡出主流,而「滑块验 ...
- python识别魔方色块_【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色...
早上用百度搜了一下"颜色识别",多少有了一点大致的概念,还是老办法,动手做,多实验,往前走,还请各位老师多多指点. OpenCV(百度百科) 是一个基于BSD许可(开源)发行的跨平 ...
- python识别音乐歌曲_如何轻松识别您正在听的歌曲
python识别音乐歌曲 Do you have a song stuck in your head? Did you listen to a new song and now you're humm ...
- python制作电脑软件_利用PYTHON制作桌面版爬虫软件(二)
今天继续新的专题.主要讲解[利用PYTHON制作桌面版爬虫软件]下的如何实现界面功能(一).该讲主要包括以下三个内容:掌握如何编写主函数,运行界面. 了解pywin32模块. 如何用python识别Q ...
- python识别图片文字_如何利用Python识别图片中的文字
一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...
- python数据处理电脑配置_『大数据python计算机基础教学视频教程』入门学python需要什么配置的电脑...
x = 1 if x 4.2 1) else匹前的缩进相同且最接近的if 2) 改之前y=x 2行,之后是y=x 1先执行 第5题 代码还n = 1 while n <= 5: i = 1 wh ...
- python修改电脑名称_修改计算机名称
思路: 1.拿到注册表计算机名称 1) 打开注册表句柄获取键值并显示到文本框 2.输入新的计算机名称.并写入计算机注册表 1) 将新的计算机名称写入到文本框.通过命令行写入注册表 os模块 syste ...
- python识别文字坐标_【Python 教程】使用 Python 和大漠插件进行文字识别
家里有一台win7系统的电脑,平时可以用来玩玩游戏消磨时间.但是有时候有一些重复的操作实在是无趣,所以打算写个脚本,让其自动化执行. 最终的目标就是把游戏里一些常用的操作都集合到脚本中去,且无序随机执 ...
- python识别文字软件_【Python 教程】使用 Python 和大漠插件进行文字识别
家里有一台win7系统的电脑,平时可以用来玩玩游戏消磨时间.但是有时候有一些重复的操作实在是无趣,所以打算写个脚本,让其自动化执行. 最终的目标就是把游戏里一些常用的操作都集合到脚本中去,且无序随机执 ...
最新文章
- 「干货」小程序风头正劲,传统商家该如何把握机会抢占红利?
- linux下sql查询的使用,sql-server – 如何在Linux上查看SQL Server中的执行计划
- 【JVM】JVM系列之JVM体系(一)
- sudo出现sudo:must be setuid root问题的解决方法
- 深入学习SAP UI5框架代码系列之一:UI5 Module的懒加载机制
- 数据结构——图的深度遍历
- 计算机机房管理具体工作和职责,机房管理
- android Handler更新UI
- 在Mac上安装Linux的行为是否应该被鄙视?
- [Java] 蓝桥杯ALGO-58 算法训练 字串逆序
- Android蓝牙开发教程(三)——蓝牙设备相互通讯
- stm32——使用串口下载程序
- eclipse:设置maven本地仓库
- 阿帕奇服务器配置站点,Apache的基本服务器配置
- 那些年我们一起追过的ILSVRC冠军
- [羊城杯 2020]A Piece Of Java
- linux桌面分辨率太高,将Ubuntu调整到高DPI分辨率屏幕
- 辽宁科技大学计算机应用技术研究生,2020年辽宁科技大学计算机应用技术考研经验分享...
- 《走进人工智能》学习笔记
- Web页面动态验证码