python
littleZhuHui
程序员
展开
-
python开发的军棋自动裁判软件
经过一段时间的完善,军棋自动裁判软件的开发已经基本完成。整个系统由两硬件与软件两部分构成。棋子图像采集设备将军棋棋子图片通过USB上传到PC机python开发的自动裁判软件对图像做预处理,提取目标区域的图像,然后调用百度OCR接口识别棋子图像上的文字。收到返回的识别结果后判定两方棋子的大小。python代码如下:config.py#coding:utf-8#军棋自动裁判配置文...原创 2019-09-27 21:22:15 · 2209 阅读 · 0 评论 -
opencv-python实际演练(一)图像识别(1)目标区域提取
背景在现场下军棋时需要三个人,其中一个人当裁判。如果只有两个人,又想玩军棋,就需要有一个自动裁判机制。想通过手机自动识别棋子上的文字,目前还没有看到专门实现这个功能的软件,因此想自已动手试一试。准备工作用手机拍摄了一张上面有两个棋子的图片(模拟生成一副图片后再用手机对着屏幕拍摄的,以后再对着真实的棋子拍照吧)在网上查到了一篇参考文献《基于python+opencv的图像目标区域自动提取(...原创 2019-09-05 22:08:11 · 9293 阅读 · 12 评论 -
python小欢喜(五)凯撒密码
这一次我们学习如何用加密的方式来传递秘密消息。凯撒密码来源于古罗马的一们皇帝:朱利乌斯•凯撒。他喜欢通过移动字母在字母表中的顺序来给别人发送秘密码消息。按照前面文章的说明,打开在线编写python的网页在编辑区输入或复制下面的内容#凯撒密码message = input("请输入要加密的内容(英文或拼音): ") # 获得用户输入的字符串,请输入英文或拼音message = messa...原创 2019-08-30 16:19:48 · 462 阅读 · 4 评论 -
python小欢喜(四)猜数字游戏
在前面的文章中简单介绍了python编程的基本知识,接下来尝试用python开发一个小游戏。做完这个小例子,我们会发现用python开发游戏并不难。按照前面文章的说明,打开在线编写python的网页在编辑区输入或复制下面的内容import randomthe_number = random.randint(1, 10)guess = int(input("请猜一个人1到10之间的整数:...原创 2019-08-29 23:26:25 · 828 阅读 · 0 评论 -
python小欢喜(三)超级计算器
在日常生活中,我们经常用到计算器,计算器可以帮助我们快速得到数学算式的结果。在电脑上,也有计算器软件,计算器软件的界面与实际的计算器很类似,功能更加强大。如果我们学习了python语言,我们将拥有一个比家用计算器强得多的超级计算器,再复杂的数学算式也难不倒我们。先从最简单的例子入手吧假设我们要计算 123456 与 654321的和按照前面文章的说明,打开在线编写python的网页在编辑...原创 2019-08-27 23:40:23 · 837 阅读 · 0 评论 -
python小欢喜(二)神奇的小海龟(2)给它点颜色瞧瞧
上次看了小海龟转圈子的例子,不知大家注意到没有,小海龟留下的轨迹只是单一的黑色。能否加上一些颜色呢?下面就是加上了颜色的例子按照前面文章的说明,打开在线编写python的网页在编辑区输入或复制下面的内容import turtlet = turtle.Turtle()colors = ["red", "yellow", "blue", "green"]for x in range(1...原创 2019-08-27 22:26:42 · 1106 阅读 · 0 评论 -
python 中 * 修饰的参数的使用分析
问题的提出有一个python的小例子def test(a1,*a2): print(a1) print(a2)n1='hello'n2=[1,2,3]test(*n2,n1)结果如下1(2, 3, 'hello')从结果上看,在函数test的调用过程中,a1的值为 1,a2是一个列表,值为 (2, 3, ‘hello’)为什么会这样呢?带*号参数的使用...原创 2019-08-18 10:42:19 · 182 阅读 · 0 评论 -
php应用不及python广泛的一个重要原因
python比php更流行,原因何在一开始php就瞄准风网页应用,在其它的领域很少发力python一开始就是想简化 C,但定位是通用性开发语言更重要的一点是,python建立起了方便的扩展机制,可以方便用python或c编写库,发布库,用pip 安装库而php在可扩展性上就要差得许多,很长时间都没有库的发布与安装机制,所以只能定位在网页脚本上,在其它方面的应用比python差远了。...原创 2019-08-12 20:33:41 · 231 阅读 · 0 评论 -
python小欢喜(二)神奇的小海龟(1) 绕圈子把自己都绕晕了
上次看了一个输出文本的例子,接下请出主角,一个到处乱爬的小海龟。先看一下这个小海龟在洁白的少滩上爬过时留下的痕迹吧按照上一篇文章的说明,打开在线编写python的网页在编辑区输入或复制下面的内容# 绕圈子的小海龟import turtlet=turtle.Turtle()for x in range(1,100): t.forward(x) t.left(90)...原创 2019-08-26 00:00:37 · 2012 阅读 · 0 评论 -
python小欢喜(一)写一个python程序如此简单
python是一门有趣又有用的语言。如何才能学会python呢?跟我嗨起来吧,我们要用最简单的方法,最快的速度学会python。相信我,凡事都有捷径,学python也不例外。咱们需要做点什么准备吗?需要买一本教材吗?需要在电脑上安装点什么软件吗?什么准备都不需要!只要你能看到我这篇博客,所有的条件都已经准备好了。在你的浏览器中输入如下网址:https://trinket.io/emb...原创 2019-08-24 21:23:13 · 3115 阅读 · 0 评论 -
opencv-python实际演练(二)军棋自动裁判(1)棋子图像采集设备DIY
引子在现场下军棋时需要三个人,其中一个人当裁判。如果只有两个人,又想玩军棋,就需要有一个自动裁判机制。想通过图像识别技术自动识别棋子上的文字,从而实现棋子的自动裁判功能。在前一篇文章《opencv-python实际演练(一)图像识别(1)目标区域提取》对模拟的双方棋子图像进行了目标区域的提取。但是真实的图像与模拟的图像终归有一些差距。接下来要对真实的场景做处理。棋子图像采集设备的成品图以...原创 2019-09-06 22:32:46 · 1297 阅读 · 0 评论 -
opencv-python实际演练(二)军棋自动裁判(2)棋子图像采集效果分析
引子在前一篇文章《opencv-python实际演练(二)军棋自动裁判(1)棋子图像采集设备DIY》介绍了棋子图像采集设备的制作过程,在取得棋子图像后发现提取目标区域的效果还不够好,有时不能正确地找出目标区域。本文试图找出影响目标区域提取的关键因素,为棋子图像采集设备的改进做出理论上的指导。提取过程的实例分析Canny 边缘检查结果如下:直观上看,这个外边缘很完整,接下来查找外轮廓co...原创 2019-09-08 18:00:18 · 409 阅读 · 0 评论 -
python 调用 百度ocr_文字识别接口,识别图片上的文字
今天试用了一下 百度ocr_文字识别 功能。我的想法是用python编程的方式调用 百度ocr_文字识别 ,上传一幅图片,识别图片上的文字整个过程不难,这里将一些关键点记录下来。第一步 注册或登陆百度云账号,创建百度应用进入“百度云”的控制台,如下所示:点击左侧导航栏中的“文字识别” 然后“创建应用”创建应用的目的是为了生成三个字符串: appId, apiKey, secret...原创 2019-09-25 15:39:26 · 4293 阅读 · 3 评论 -
2的平方根小数点后第一百万位是多少 (一)python求解, 实验1
在python中计算2的平方根可以直接使用 math.sqrt(2),不过sqrt函数的精度有限,无法得到小数点后一百万位的值这个问题的解法肯定有很多。我想尽可能地找出多种解法。今天实验了一下,采用先计算2的平方根的二进制表示,然后将二进制表示转换为十进制表示。为什么要选二进制表示呢?用二进制计算可以只做移位和加减法运算,这比十进制的效率要高。实验1求2的平方根的二进制表示的核心方法如下...原创 2019-09-24 21:14:56 · 1230 阅读 · 0 评论 -
维特智能九轴加速度计陀螺仪模块 Python 实例程序
购买了 维特智能九轴加速度计、陀螺仪模块 ,型号WT901 。在其提供的的示例程序中,只找到了VC++ 与 C#的示例程序,没有找到我想要的Python示例程序。好在厂家提供的说明书中对模块所使用的串口协议做了说明。参照厂家的说明书与C#示例程序,本人用Python实现了与C#功能一样的示例程序。程序运行界面如下:附厂家提供的C#示例程序的运行界面:观察一下,可以注意到,传感器读数会有...原创 2019-09-23 16:16:50 · 4593 阅读 · 4 评论 -
python开发的录音机(二)让鼠标点击与开始录音同步(录制与回放鼠标宏)
当我们用录音机录网上的音乐时,有一个场景让人困扰:比如听以下页面中的一首歌,要在页面上点击一下播放按钮如果想把这一首歌录下来,当点击了播放按钮再去点录音机的录制按钮时,中间有一个时间差。可能一不小心,就错过了要录制的内容。有的人的做法是先点录音机的录制按钮,再点页面上的播放按钮,这样一来,就可能会录上一段容白的内容,当然会音频剪辑的人可以把这个空白剪掉,但终归不是最方便。我的想法是让鼠...原创 2019-09-19 20:35:46 · 2825 阅读 · 1 评论 -
python开发的录音机(一)录制声卡播放的声音(内录)
现在网上用python编写的录音机小软件很多,几乎都不支持内录。这个小程序的主要功能特点是1 , 录制电脑上正在播放的声音,即从声卡录制,而不是从麦克风录制,这样就可以将电脑上正在播放的音乐保存下来2, 不预先指定录制时间,而是根据用户指令开始录音或停止录音,因此要使用多线程技术来实现实际使用效果技术关键点调用pyaudio模块进行录音,为了实现内录功能,有一个关键点是要找出支持内...原创 2019-09-19 16:00:27 · 10857 阅读 · 21 评论 -
pip install 太慢,迅雷来帮忙
今天准备安装python的一个模块 scipy执行 pip install scipy终端上的运行界面如下:从以上提示来看安装文件的大小是30MB,下载要用1个多小时,果断终止。可能有的人会想到换个源吧。我采用的办法是将上面要下载的文件的url复制到讯雷中进行下载,结果 2秒 左右就下载完了。将下载得到的文件 scipy-1.3.1-cp37-cp37m-win_amd64.whl 复...原创 2019-09-18 21:16:48 · 574 阅读 · 0 评论 -
opencv-python实际演练(二)军棋自动裁判(6)棋子文字的识别率不能达到百分百
引子文章《opencv-python实际演练(二)军棋自动裁判(1)棋子图像采集设备DIY》介绍了棋子图像采集仪的制作过程。文章《opencv-python实际演练(二)军棋自动裁判(5)棋子文字的自动识别》对棋子上的文字识别做了说明。实验今天通过实验,发现棋子文字的识别率不能达到百分百。这对军棋自动裁判的实现来说带来了新的挑战。比如以上实验中 ,“工兵“,”团长“可以正常识别出来,...原创 2019-09-11 21:25:27 · 447 阅读 · 0 评论 -
opencv-python实际演练(二)军棋自动裁判(5)棋子文字的自动识别
引子文章《opencv-python实际演练(二)军棋自动裁判(1)棋子图像采集设备DIY》介绍了棋子图像采集仪的制作过程。文章《opencv-python实际演练(二)军棋自动裁判(3)棋子图像采集设备的改进》对图像采集仪进行了改进。现在该项目的硬件部分已经准备完毕,接下来要做的就是对采集到的棋子图像进行OCR。如果能够顺利地识别出棋子上的文字,判断两个棋子的棋力大小就比较容易了。棋子文...原创 2019-09-09 17:46:06 · 1092 阅读 · 0 评论 -
opencv-python实际演练(二)军棋自动裁判(4)棋子图像提取算法的改进
引子在文章《opencv-python实际演练(二)军棋自动裁判(1)棋子图像采集设备DIY》介绍了棋子图像采集设备的制作过程。在文章《opencv-python实际演练(二)军棋自动裁判(3)棋子图像采集设备的改进》对图像采集设备进行了改进。在实验中发现了一种情形,就是有些棋子上的文字比较靠近边缘,按照以前的算法不能有效地提取目标区域问题描述当棋子上的文字比较靠近边缘,采集到的原始图像...原创 2019-09-08 22:02:41 · 670 阅读 · 0 评论 -
opencv-python实际演练(二)军棋自动裁判(3)棋子图像采集设备的改进
引子在文章《opencv-python实际演练(二)军棋自动裁判(1)棋子图像采集设备DIY》介绍了棋子图像采集设备的制作过程,在取得棋子图像后发现提取目标区域的效果还不够好,有时不能正确地找出目标区域。本文试图找出影响目标区域提取的关键因素,为棋子图像采集设备的改进做出理论上的指导。在文章《opencv-python实际演练(二)军棋自动裁判(2)棋子图像采集效果分析》找出了影响目标区域提取...原创 2019-09-08 18:50:28 · 557 阅读 · 0 评论 -
用python提取html页面内容的一次实践
用python提取html页面内容的一次实践原创 2019-08-23 22:02:20 · 2880 阅读 · 0 评论 -
python 库 Construct 初步使用(一)
按照官网文档的介绍,Construct 库是一个二进制数据的解析工具包。当然也可以进行逆操作,将结构化对象保存为二进制数据。安装用pip install construct 就OK。现在用几个简单的例子说明一下基本用法例1from construct import *A = Int32ubres = A.parse(b'\x00\x00\x00\x01')print(res)结果...原创 2019-08-10 21:40:58 · 5655 阅读 · 0 评论 -
python 中**修饰的参数引起 TypeError: takes 0 positional arguments but 1 was given
在python函数的形式参数前可以加**,表示该参数位置处应传入字典据。测试例子如下:def test(**kwargs): print(kwargs)test(1)运行结果如下:Traceback (most recent call last): File "E:/pythonWorkSpace/test1/testConstruct.py", line 5, in &...原创 2019-08-09 17:08:22 · 25485 阅读 · 1 评论 -
一种快速导入Excel数据到mysql数据库的办法
基本需求导入Excel表格中的数据到mysql数据库是一种常见需求。导入的方法有很多。今天介绍一种用python导入excel数据到mysql的方法。它的好处是执行效率高,导入数据量大。实施步聚1,通过python 将excel文件转换为sql插入语句组成的文本文件。为了实现这个功能用到了一个读取excel数据的python模块xlrd。2.命令行上执行 mysql命令,运行第一步生成的s...原创 2019-07-10 23:16:34 · 841 阅读 · 0 评论 -
B树插入操作的图形化展示,python调用graphviz自动生成svg图形
引言在前一篇文章《平衡二叉树插入及删除操作的图形化展示,python调用graphviz自动生成svg图形》用图形化的方式展示了平衡二叉树在插入或删除时图形的变化。现在来直观演示一下B树的插入过程B树节点中的元素有序排列,并且个数有上限,当超过上限时,节点将会发生分裂,如果B树的根节点发生分烈,B树的高度就会加1。B树通过分裂的方式,保证所有的叶子节点都在同一个层次上,实际上保证了的B树的平...原创 2019-07-14 20:00:41 · 852 阅读 · 0 评论 -
用jquery对graphviz生成的svg图形做后处理,改变字体,颜色,连线形状等
引言在前面两篇文章《平衡二叉树插入及删除操作的图形化展示,python调用graphviz自动生成svg图形》,《平衡二叉树旋转操作的图形化展示,python调用graphviz自动生成svg图形》中介绍了如何用python自动生成dot语言文件,达到了自动生成svg图形并在浏览器上显示的效果。在对graphviz的进一步使用中,发现graphviz还是有一些不尽如人意的地方。目前来说,发现了...原创 2019-07-14 16:10:54 · 1712 阅读 · 1 评论 -
平衡二叉树旋转操作的图形化展示,python调用graphviz自动生成svg图形
引言在前一篇文章《平衡二叉树插入及删除操作的图形化展示,python调用graphviz自动生成svg图形》用图形化的方式展示了平衡二叉树在插入或删除时图形的变化。平衡二叉树在插入或删除节点时可能会打破原有的平衡,所以在插入或删除之后需要进行调整操作。这类操作可以归纳为4种情形1.子树左边比右边高 2 层 ,并且左子树不低于右子树,只需将子树向右旋转即可2.子树左边比右边高 2 层 ,并且...原创 2019-07-13 15:44:15 · 643 阅读 · 0 评论 -
平衡二叉树插入及删除操作的图形化展示,python调用graphviz自动生成svg图形
引言平衡二叉树的基本性质为许多人所熟知,简单说来就是“左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树”。平衡二叉树为了保证其平衡性,需要在插入或删除节点时动态地调整树节点,使其一直保持平衡。在网上查到一篇文献《平衡二叉树(AVL树)》。该文作者用python实现了平衡二叉树的基本操作。唯一有点遗憾的是他的输出结果是文本形式的,不方便直观地查看插入和删除操作的效果。本...原创 2019-07-12 19:56:37 · 1113 阅读 · 0 评论 -
用python读取身份证信息的功能分析与实现,兼述python调用dll的方法
背景有这样一个需求,要求能自动读取用户的身份证信息。如果是一代身份证,这个功能恐怕只能通过图像识别的办法来解决了。不过现在二代身份证已经很普及。客户要求能读二代身份证就可以了。现在二代身份证阅读器很常见,本文中使用的是新中新的身份证阅读器。下图是其外观,如果有朋友也是用的这个型号,则此处提供的代码不加修改就可以运行了。厂家提供了sdk。由于要在windows上使用,就下载了最新的dll。如...原创 2019-06-23 11:47:57 · 3291 阅读 · 0 评论 -
用python收取邮件的一个实例
背景有一个工作邮箱,会接收许多人不断地投递的简历。由于邮件数量比较多,因此产生了一个需求。要求自动将邮件从邮件服务器取回业,邮件的一个基本信息存入本地的sqlite数据库。邮件的正文以单独文件的形式存放在文件夹下。...原创 2019-07-28 20:54:01 · 3067 阅读 · 0 评论 -
如何用python点亮一盏灯
引子听说过不少用爱点亮一盏灯的故事。如果你问一个程序员,愿意为我点亮一盏灯吗?回答或许是:可以,如果可以让我选择点亮的时间的话,我愿意是一万年;如果可以让我选择点亮的方式的话,我原意选python语言。说完,他打开电脑,启动命令行窗口:输入一行文字:python led.py -s o神奇的是,灯真的亮了。原来如此在电脑上输入一句话就可以点亮一盏灯吗?是的,不过仅仅有python语言还不...原创 2019-06-17 21:30:09 · 2872 阅读 · 1 评论 -
热敏打印机ESCPOS指令封装类,票据打印从此轻松,佳博系列实测通过
开发背景接到一个任务,要用热敏打印机打印小票。本人用的是市面上比较常见的佳博热敏打印机。用过票据打印机的人都知道,在小票上打印与普通的打印纸上打印不一样。要通过发送ESCPOS 指令给打印机来完成打印任务,所以控制热敏打印可以看作是用ESCPOS 指令编程。为此我专门上了佳博的官网,下载了《佳博热敏票据打印机编程手册.pdf》硬着头皮把相关的ESCPOS指令啃了一遍。深感有必要将这些极其不人性...原创 2019-06-17 15:27:25 · 8338 阅读 · 3 评论 -
2的平方根的一种求解方法,python编程实现,利用python的大数运算功能实现超高精度的求解
2的平方根的一种求解方法,python编程实现,利用python的大数运算功能实现超高精度的求解基本原理解题程序运行结果如下基本原理与常见的二分法,牛顿迭代法的思路不一样。此方法直接求出2的平方根的二进制表示,基本思路是逐一判断1.0后跟的序列中的每一位应该是1还是0。理论上可以实现无限的精度,但是要求能够做大整数的算术运算与比较。在用php编程实现时,需要自已想办法实现大整数的算术运算与比较...原创 2019-06-16 15:29:45 · 1172 阅读 · 0 评论 -
一种快速导出mysql数据库到Excel的办法
基本需求将数据从mysql数据库导出到excel中是一种很常见的需求。导出的方法也很多。本文介绍一种用python导出mysql数据的法。这种办法的好处是:导出效率高,导出数据量大,导出效率与mysql原生导出文本文件的效率基本相当。实施步骤1.用python连接mysql数据库,执行预先准备好的sql语句,取出要导出的数据到python的列表对象中。这一步要用到操作mysql的python...原创 2019-07-11 10:29:51 · 499 阅读 · 0 评论 -
B树删除操作的图形化展示,python调用graphviz自动生成svg图形
引言在前一篇文章《B树插入操作的图形化展示,python调用graphviz自动生成svg图形》中用图形化的方式展示了B树在插入时图形的变化。但是B树的删除操作的过程要比插入操作复杂一些,主要是由于需要区分更多的情况进行分类处理。在插入过程中,随着元素的不断增多,节点可能要发生分裂。而在删除过程中,随着元素的不断减少,节点可能需要进行合并。但除了合并,还有可能发生向相邻的节点借入元素的过程。...原创 2019-07-15 17:37:32 · 267 阅读 · 0 评论 -
python非官方的windows安装包资源站及安装方法
有时候用pip 安装python 时会找不到合适的安装包文件,这时可以尝试用一些非官方的安装包。这里有一个非官方安装包的资源站点,提供了windows下的 whl 安装文件链接地址接下来通过一个例子说明具体用法。准备在python3.7上安装 PyUserInput。这个库可以用来模拟键盘及鼠标的操作。先尝试用pip 安装D:\Python37\Scripts>pip insta...原创 2019-08-09 09:31:24 · 3671 阅读 · 2 评论 -
用python-rtmidi捕获MIDI键盘的输入,并回放MIDI消息
最近声买了一台MIDI键盘。想用MIDI键盘接上电脑当电子琴用。现在可以接MIDI键盘的音乐类软件也不少。我想通过用编程的方式控制MIDI键盘的输入,发现了一个python库正好满足我的要求。这个库是 python-rtmidi, rtmidi是C++开发的一个midi工具包,python-rtmidi是对rtmidi的一个轻量级包装。网址:https://pypi.org/project/...原创 2019-08-06 22:00:07 · 2644 阅读 · 0 评论 -
由eric6转到pycharm的2个理由
前段时间找python的IDE,一开始觉得pycharm是个重量级软件,eric6是个轻量级的软件。因此选择了eric6。但是用了一段时间的eric6,发现有两个基本功能点eric6没有提供,现在很难忍受,只好换用pycharm。这两个我最关注的功能点是:1.可以在源码中跳转到函数的定义2.在中断后,可以自由地添加要观察的表达式的值从这两个功能点就可以看出来,以编程IDE的专业性来说...原创 2019-08-08 10:23:10 · 3448 阅读 · 3 评论