原文链接:https://www.jianshu.com/p/ef67cacf442c本篇笔记主要记录Opencv里的图像翻转,平移,旋转,仿射及透视功能,主要是下面几个API:cv2.flip()#图像翻转cv2.warpAffine()#图像仿射cv2.getRotationMatrix2D()#取得旋转角度的Matrixcv2.GetAffineTransform(src,dst,mapMatrix)#取得图像仿射的matrixcv2.getPers
系统 2019-09-27 17:54:42 2254
作者:HelloGitHub-Prodesire前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认使用Python3作为解释器进行讲解。若你仍在使用Python2,请注意两者之间语法和库的使用差异哦~git常用命令大家不妨回忆一下,平时最常
系统 2019-09-27 17:52:51 2254
forwhile选择使用哪种循环技巧:不知道循环多少次的用while,知道循环多少次的用for能用for不用whileforiin"abc":print(i)第一次:取a存到i里面,然后执行for的代码块第二次:取b存到i里面,然后执行for的代码块第三次:取c存到i里面,然后执行for的代码块foriinrange(5):print(i)ifi==3:continueelse:print(“nobreak”)总结:只要循环体内部没有执行break就会执行
系统 2019-09-27 17:52:37 2254
华丽的文本框演示首先看看演示结果:实现代码importmatplotlib.pyplotaspltplt.text(0.8,0.5,"python",size=50,rotation=30.,ha="center",va="center",bbox=dict(boxstyle="round",ec=(1.,0.5,0.5),fc=(1.,0.8,0.8),))plt.text(0.75,0.6,"www.jb51.net",size=50,rotation
系统 2019-09-27 17:52:30 2254
生成器,可迭代对象,迭代器之间究竟是什么关系?用一幅图来概括:1.生成器定义生成器方式一://区别于列表生成式gen=[x*xforxinrange(5)]gen=(x*xforxinrange(5))print(gen)//Out:at0x00000258DC5CD8E0>方式二:deffib():prev,curr=0,1whileTrue:yieldcurrprev,curr=curr,curr+prevf=fib()print(f)//Out:定义
系统 2019-09-27 17:52:19 2254
Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性。Python可用于数据分析,但其单纯依赖Python本身自带的库进行数据分析还是具有一定的局限性的,需要安装第三方扩展库来增强分析和挖掘能力。Python数据分析需要安装的第三方扩展库有:Numpy、Pandas、SciPy、Matplotlib、Scikit-Learn、Keras、Gensim、Scrapy等,以下是千锋武汉
系统 2019-09-27 17:51:22 2254
BacktoPythonIndex.1.安装Installation官网,国内镜像源清华最方便,condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/#显示源地址condaconfig--set
系统 2019-09-27 17:50:47 2254
python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。smtp协议的基本命令包括:HELO向服务器标识用户身份MAIL初始化邮件传输mailfrom:RCPT标识单个的邮件接收人;常在MAIL命令后面,可有多个rcptto:DATA在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输,以.结束VRFY用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令EXPN验证给定的邮箱
系统 2019-09-27 17:50:26 2254
1、getitem方法使用这个方法最大的印象就是调用对象的属性可以像字典取值一样使用中括号['key']使用中括号对对象中的属性进行取值、赋值或者删除时,会自动触发对应的__getitem__、__setitem__、__delitem__方法代码如下:classFoo(object):def__init__(self):self.name='jack'def__getitem__(self,item):ifiteminself.__dict__:#ite
系统 2019-09-27 17:49:28 2254
网络请求urlopen函数用法urllib库urllib库是python中一个最基本的网络请求库。可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据urlopen函数在python3的urllib库中,所有和网络请求相关的方法都被集成到urllib.request模块下面了,下面先看下urlopen函数基本使用:fromurllibimportrequestresp=request.urlopen('http://www.baid
系统 2019-09-27 17:48:21 2254
文章目录H5数据集的使用使用h5py的group分割GB级数据H5数据集的使用#创建withh5py.File("data_train.h5",'w')ashf:hf.create_dataset('train_input',data=shuffled_input)hf.create_dataset('train_label',data=shuffled_label)#打开withh5py.File("data_train.h5",'r')ashf:tra
系统 2019-09-27 17:46:09 2254
Linux中进程的通信方式有信号,管道,共享内存,消息队列socket等。其中管道是*nix系统进程间通信的最古老形式,所有*nix都提供这种通信方式。管道是一种半双工的通信机制,也就是说,它只能一端用来读,另外一端用来写;另外,管道只能用来在具有公共祖先的两个进程之间通信。管道通信遵循先进先出的原理,并且数据只能被读取一次,当此段数据被读取后,马上会从数据中消失,这一点很重要。Linux上,创建管道使用pipe函数,当它执行后,会产生两个文件描述符,分别
系统 2019-09-27 17:45:56 2254
一、持久化--shelve持久化工具(1)作用:类似字典,用kv对保存数据,存取方式类似于字典(2)例子:通过一下案例创建了一个数据库,第二个程序我们读取了数据库#使用shelve创建文件并使用importshelveshv=shelve.open(r"shv.db")shv["one"]=1shv["two"]=2shv.close()shv=shelve.open(r"shv.db")try:print(shv["one"])print(shv["th
系统 2019-09-27 17:45:48 2254
一、什么是Selenium?Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:SeleniumIDE、SeleniumWebDriver和SeleniumGrid。SeleniumIDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java、python等)的形式导出成测试用例。SeleniumWebDriver:提供Web自动化所需
系统 2019-09-27 17:45:45 2254
ppython实现一个姓名管理系统实现一个姓名管理系统首先系统会打印菜单:+++++++++++++++++|1查看||2添加||3删除||q退出|+++++++++++++++++根据用户输入的序号进行对应功能的使用框架:L=[]用来存储姓名defmenu():打印菜单defselect_name():name=input(“请输入您要查询的人名(输入q展示全部):”)自己实现defadd_name():循环接受用户输入的数据并且存储到列表中输入空结束d
系统 2019-09-27 17:45:34 2254