Python

OpenCV-Python学习笔记(十四):图像变换:傅里叶变换与反变换

OpenCV-Python官方文档关于图像傅里叶变换和反变换的教程网址:https://docs.opencv.org/4.1.0/de/dbc/tutorial_py_fourier_transform.html目标我们将要学习:•使用OpenCV对图像进行傅里叶变换(DFT):cv2.dft(),cv2.idft()•使用Numpy中FFT(快速傅里叶变换)函数:•傅里叶变换的一些用处•我们将要学习的函数有:cv2.dft(),cv2.idft()等原

系统 2019-09-27 17:47:27 2633

Python

Python 动态导入对象,importlib.import_module

背景一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。解决文件结构a#文件夹│a.py│__init__.pyb#文件夹│b.py│__init__.py├─c#文件夹│c.py│__init__.py#c.py中内容args={'a':1}classC:defc(self):pass目的向a模块中导入c.py中的对象解决方案a.pyimportimportlibparams=importlib.import_module('b.c.c')#

系统 2019-09-27 17:45:58 2633

Python

浅谈python编译过程

python是一门解释性语言什么是解释性语言?学过C语言的同学都知道C语言是一门编译性语言,那么这里我们就要清楚的了解解释性语言与编译性语言有什么区别。编译性语言:只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前编译的结果即可;因此其执行效率比较高。例如:C语言、C++等解释性语言:源代码不能直接被编译为机器语言,而是先编译成中间代码,再由解释器对中间代码进行解释运行;执行效率较慢。例如:python、JS等这也就是为什么人们

系统 2019-09-27 17:57:45 2632

Python

Python实现插入排序和选择排序的方法

话不多说,让我们从最基本的排序算法开始吧插入排序如下图所示,插入排序的实现思路顾名思义,就是不断地在一个已经是有序的数组中,寻找合适位置并插入新元素。具体实现步骤为:首先我们把整个数组拆分为有序区间和未排序区间,有序区间在插入排序一开始只有一个元素,就是数组的第一个元素。接在有序区间之后的一个元素就是准备插入的元素,在图中就是标为绿色的元素,在有序区间内寻找位置并插入。其寻找逻辑为:从后往前依次进行比较,如果待插入元素大于当前元素,则将待插入元素插入到当前

系统 2019-09-27 17:57:14 2632

Python

用Python+OpenCV对比图像质量的几种方法

前言图片的本质就是大量像素在二维平面上的组合,每个像素点用数字化方式记录颜色。可以直观的想象,一张图片就是一个巨大的电子栅格,每个格子内有一盏灯泡,这个灯泡可以变换256的三次方种颜色,就像下面这张卡通像素图一样,越清晰的图片像素越密集。这一次来看看OpenCV提供的两种图像质量对比方式(PSNR&SSIM)及其扩展,这篇文章会涉及到一点数学公式,顺便介绍一个我用过的生成公式的最佳在线编辑工具,秒杀所有收费工具。链接在这里,请收好:https://www.

系统 2019-09-27 17:51:59 2632

Python

python实现五子棋人机对战游戏

本文代码基于python3.6和pygame1.9.4。五子棋比起我之前写的几款游戏来说,难度提高了不少。如果是人与人对战,那么,电脑只需要判断是否赢了就可以。如果是人机对战,那你还得让电脑知道怎么下。我们先从简单的问题来看。开端画棋盘首先肯定是要画出棋盘来,用pygame画出一个19×19或15×15的棋盘并不是什么难事,这在之前的文章中已经多次用到,就不赘述了。画棋子需要说一下的是画棋子,因为没找到什么合适的棋子图片,所以只要自己来画棋子。我们用pyg

系统 2019-09-27 17:48:42 2632

Python

python代码覆盖率(下)--- coverage.py api

前言使用pytest-cov无法统计用api调用服务的测试脚本所覆盖率,但大部分的项目基本也是使用api调用。所以我们额外需要使用coverage.pyapi来统计。当你安装pytest-cov时,已经默认安装了coverage这个库。服务启动要想扫描到代码,必须在服务启动的时候要插入coverage相关配置。我这边是flask启动的,所以在flask启动的代码上添加,如下:if__name__=='__main__':cov=Coverage()cov.

系统 2019-09-27 17:48:14 2632

Python

Python --处理nc数据

首先你得安装netCDF4这个库(pipinstall)简单读取如下可以看到dimensions(sizes):longitude(480),latitude(241),time(480)variables(dimensions):float32longitude(longitude),float32latitude(latitude),int32time(time),int16z(time,latitude,longitude)这是一个三维数据集,空间两

系统 2019-09-27 17:55:08 2631

Python

Python学习四:Python for ArcGIS学习笔记

一、优点:(1):容易上手;(2):易于部署到ArcGIS中;(3):批处理具有优势;二、学习方向:(1)自定义工具箱;(2)Add-In插件;三、自定义工具箱:1、.tbx工具箱:(1)创建一个工具箱(TestToolbox):目录>我的工具箱>新建>工具箱(X)(2)添加一个脚本(TestTool):TestToolbox>添加>脚本(S)(3)配置.py文件信息:选择使用相对路径,设置匹配参数,项目描述里编辑使用说明,导入脚本并设置密码。(4)共享:

系统 2019-09-27 17:53:22 2631

Python

如何在 Windows 安裝 OpenPose 跟使用 Python API

原文链接:https://blog.techbridge.cc/2019/01/18/openpose-installation/原文链接:https://blog.techbridge.cc/2019/01/18/openpose-installation/注:转载如有侵权,请马上联系删除。如何在Windows安裝OpenPose跟使用PythonAPI來偵測人體姿態前言OpenPose是CarnegieMellonUniversity(CMU)論文實作

系统 2019-09-27 17:51:44 2631

Python

Python实现远程调用MetaSploit的方法

本文较为详细的讲述了Python实现远程调用MetaSploit的方法,对Python的学习来说有很好的参考价值。具体实现方法如下:(1)安装Python的msgpack类库,MSF官方文档中的数据序列化标准就是参照msgpack。root@kali:~#apt-getinstallpython-setuptoolsroot@kali:~#easy_installmsgpack-python(2)创建createdb_sql.txt:createdatab

系统 2019-09-27 17:46:15 2631

Python

Python处理时间日期坐标轴过程详解

1.前言当日期数据作为图表的坐标轴时通常需要特殊处理,应为日期字符串比较长,容易产生重叠现象2.设定主/次刻度2.1引用库frommatplotlib.datesimportDateFormatter,WeekdayLocator,DayLocator,MONDAY,YEARLY2.2获取每月/周/日数据获取每月一日数据monthdays=MonthLocator()获取每周一的日期数据mondays=WeekdayLocator(MONDAY)#主要刻度

系统 2019-09-27 17:56:21 2630

Python

PU learning简介(附python代码)

一、引言在现实生活中,有许多只有正样本和大量未标记样本的例子。这是因为负类样本的一些特点使得获取负样本较为困难。比如:负类数据不易获取。负类数据太过多样化。负类数据动态变化。举一个形象点的例子:比如在推荐系统里,只有用户点击的正样本,却没有显性负样本,我们不能因为用户没有点击这个样本就认为它是负样本,因为有可能这个样本的位置很偏,导致用户没有点。因此,有研究人员开始关注PULearning(Positive-unlabeledlearning),即在只有正

系统 2019-09-27 17:56:04 2630

Python

python-tkinter之按钮的使用,开关方法

具体参考哪位大佬的,记不太清楚了。直接上代码,大体逻辑是这样的。#-*-coding:utf-8-*-fromtkinterimport*root=Tk()defg():ifb['text']=='开始':b['text']='关闭'print('开始')else:b['text']='开始'print('结束')b=Button(root,text='开始',font=('KaiTi',36,'bold'),bg='pink',fg='green',bd

系统 2019-09-27 17:53:42 2630

Python

Python Django 封装分页成通用的模块详解

这篇文章主要介绍了PythonDjango封装分页成通用的模块详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下新建utils文件夹,并创建page.pypage.py:classShowPage(object):def__init__(self,page_num,total_count,url_prefix,per_page=10,max_page=11):''':parampage_num:当前页码数

系统 2019-09-27 17:52:04 2630