
Python
文章平均质量分 59
量子象限
90后嵌入式软件工程师,喜欢写作、读书。希望通过文字和大家共同进步!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python练习记录
# -*- coding: utf-8 -*-n = eval(input())s = "Hello world"if n == 0: print(s)elif n > 0: for i in range(len(s)): if i % 2 == 0: print(s[i], end = '') else:...原创 2020-02-24 16:05:23 · 227 阅读 · 0 评论 -
python列表中的range用法
使用range可以创建数值列表。需要存储一组数字的原因有很多,例如,在游戏中,需要跟踪每个角色的位置,还可能需要跟踪玩家的几个最高得分。在数据可视化中,处理的几乎都是由数字(如温度、距 离、人口数量、经度和纬度等)组成的集合。列表非常适合用于存储数字集合,而Python提供了很多工具,可帮助你高效地处理数字列表。明白如何有效地使用这些工具后,即便列表包含数百万个元素,你编写的代码也能运 行得很好...原创 2018-12-30 19:48:09 · 26125 阅读 · 0 评论 -
python中的列表解析
列表解析 列表解析 将for 循环和创建新元素的代码合并成一行,并自动 附加新元素。这是之前的一个例子,然而用列表解析一句话的事要使用这种语法,首先指定一个描述性的列表名,如squares ;然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式 为value^2,它计算平方值。接下来,编写一个for 循环,用于给表达式提供值,再加上右方括号。在这个示...原创 2018-12-30 20:00:10 · 1171 阅读 · 0 评论 -
python遍历词典
1.遍历所有键值对要编写用于遍历字典的for 循环,可声明两个变量,用于存储键—值对中的键和值。对于这两个变量,可使用任何名称user_0 = {'username': 'efermi','first': 'enrico','last': 'fermi',}for key, value in user_0.items(): print("\nKey: " + key) ...原创 2019-01-01 08:54:23 · 728 阅读 · 0 评论 -
ipython notebook 如何修改一开始打开的文件夹路径
打开 cmd 输入命令 jupyter notebook --generate-config可以看到生成文件的路径打开文件夹,并打开配置文件这个就是生成的配置文件,打开后找到 这个地方 删除前面的’#‘ 然后填写自己的路径,保存大功告成!...原创 2019-01-01 09:43:33 · 1081 阅读 · 0 评论 -
numpy.random.RandomState函数用法
Numpy工具包中的RandomState常常用在生成随机的模拟数据集。用法如下:from numpy.random import RandomStaterng = RandomState(1)seq = rng.uniform(0, 1, (2, 3))print(seq)result:[[4.17022005e-01 7.20324493e-01 1.14374817e-04]...原创 2019-01-13 09:13:30 · 1857 阅读 · 0 评论 -
递归
Loops may achieve a performance gain for your program. Recursion may achieve a performance gain for your programmer. Choose which is more important in your situation!使用循环,程序的性能可能更高;使用递归,程序可能更容易理解。如何...原创 2019-02-04 16:21:59 · 224 阅读 · 0 评论 -
快速排序法(c++实现+面试模板)
def quicksort(array): if len(array) < 2: # base case, arrays with 0 or 1 element are already "sorted" return array else: # recursive case pivot = array[0] # sub-array of all...原创 2019-02-04 16:24:15 · 286 阅读 · 0 评论 -
广度优先搜索(breadth-first-search)
from collections import dequedef person_is_seller(name): return name[-1] == 'm'graph = {}graph["you"] = ["alice", "bob", "claire"]graph["bob"] = ["anuj", "peggy"]graph["alice"] = ["peggy"...原创 2019-03-21 09:21:14 · 347 阅读 · 0 评论 -
Dijkstra Algorithm
与BFS不同的是每条路径多了权重1.步骤:找到最便宜的节点,即可在最短时间内前往的节点对于该节点的邻居,检查是否有前往它们的更短路径,如果有,就更新其开销。重复这个过程,直到对图中的每个节点都这样做了计算最终路径。2.注意只适用于有向无环图(directed acyclic graph, DAG)不适用于包含负权重边的图(Bellman-Ford algorithm)3....原创 2019-03-21 14:05:52 · 270 阅读 · 0 评论 -
使用pdb进行debug
学这个的目的在于用命令行进行程序调试,不能过于依赖IDE。pdb是python自带的调试工具,缺点是不适合多线程调试,有点事简洁高效。使用python3 -m pdb test.py常用指令:l:list,显示当前代码前后的三行n:next ,向下执行一行c:continue,继续执行代码b<>行数:加断点cl:清除断点s:step,进入到一个函数p<&...原创 2019-07-20 15:16:05 · 394 阅读 · 1 评论 -
利用opencv拼接图像视频摄像头进行录像
将图像拼接成视频格式今天想将5000张图片转换成视频格式,操作如下:import osimport cv2import numpy as nppath = '/home/violet/PycharmProjects/deepSort/images/img1/'filelist = os.listdir(path)fps = 20 #视频每秒24帧size = (640, 480...原创 2019-07-29 22:06:29 · 738 阅读 · 0 评论 -
python中的函数参数
可变参数在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。我们以数学题为例子,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……。要定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下:def ca...转载 2019-08-14 14:24:32 · 144 阅读 · 0 评论 -
opencv实现人脸识别和眼部识别
代码import cv2 as cvimg = cv.imread("./lena.jpg")gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)face_cascade = cv.CascadeClassifier('/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_default...原创 2019-08-10 10:51:45 · 1083 阅读 · 0 评论 -
Python的生成器和迭代器
generator在Python中,这种一边循环一边计算的机制,称为生成器:generator。>>> L = [x * x for x in range(10)]>>> L[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]>>> g = (x * x for x in range(10))>>&g...转载 2019-08-15 11:03:53 · 117 阅读 · 0 评论 -
os.path解析文件
不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。——荀子《儒效篇》常用的解析文件方法os.path.splitext:分离文件名与扩展名def _parse_filename(filename): # 解析文件名 """Parse meta-information from given filename. Parameters ---------- ...原创 2019-08-16 14:51:44 · 206 阅读 · 0 评论 -
Python中print函数细节——默认换行
之前一直没有注意到这个细节,请看def pt1(): print('*') print('*')result:**可见print函数默认在结尾有个换行,如果不想换行,可在实参中加end=''或者任意拼接字符串def pt1(): print('*',end='') print('*')result**...原创 2019-08-18 08:59:27 · 7108 阅读 · 1 评论 -
numpy的类型转换
浮点型之间转换numpy整型默认float32,不能直接更改类型,否则数组长度会变化import numpy as npx = np.random.rand(4)print(x)print(x.dtype)print(x.shape)结果[0.45807523 0.62492706 0.85296223 0.58924266]float64(4,)x1 = np.rand...原创 2019-01-04 08:14:46 · 1615 阅读 · 0 评论 -
Canny边缘检测(Python实现)
Canny算法步骤①高斯模糊 - GaussianBlur②灰度转换 - cvtColor③计算梯度 – Sobel/Scharr④非最大信号抑制⑤高低阈值输出二值图像——高低阈值比值为2:1或3:1最佳代码演示# Canny算子def Canny_demo(image): blur = cv.GaussianBlur(image, (3, 3), 0) gray ...原创 2018-12-18 20:18:32 · 3680 阅读 · 0 评论 -
搭建深度学习框架-win10 64位+CUDA 9.0+cuDNN v7.0.5 安装
0 查看电脑系统版本(非常重要)WIN+R->输入winver,系统版本号必须高于1703,否则CUDA9.0难以运行!!!!1 安装 NVIDIA 显卡驱动程序下载地址:驱动程序选择适合自己电脑的显卡驱动下载安装很简单,直接下一步就可以默认安装路径: C:\NVIDIA\DisplayDriver\398.82\Win10_64\Internati...原创 2018-11-08 21:48:43 · 3610 阅读 · 0 评论 -
Matplotlib数据可视化——设置标注annotation
今天主要记录annotation标注的用法import matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常显示负号x = np.linspace(-3,3...原创 2018-11-18 17:06:28 · 428 阅读 · 0 评论 -
Matplotlib数据可视化——scatter散点图
习惯了前面的连续图像,有时离散的数据的显示散点图会更形象显示一条散点直线如下:import numpy as npimport matplotlib.pyplot as pltplt.scatter(np.arange(27), np.arange(27))plt.xticks(()) # 将坐标刻度隐藏plt.yticks(())plt.show()更形象的散点图的例子i...原创 2018-11-20 19:13:42 · 608 阅读 · 0 评论 -
Matplotlib数据可视化——设置坐标轴,原点,图例
今天突破了导轨和转台的调试程序,学习会Python娱乐一下matplotlib库和MATLAB的数据可视化功能几乎是相同,只是因为人工智能的火爆以及使用方便深受大家喜爱。1.1figure图像绘制单一函数的图像import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 1, 30)y = 3*x + 1p...原创 2018-11-16 23:13:35 · 22844 阅读 · 0 评论 -
Matplotlib数据可视化——ticks能见度
在作图中函数图像尺寸可能会有遮挡坐标上的数字的情况,这是需要设置一下ticks的可见度import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-3, 3, 50)y = 0.1*xplt.figure()plt.plot(x, y, lw=10)plt.ylim(-2, 2)ax = plt.gca()...原创 2018-11-20 08:27:54 · 496 阅读 · 0 评论 -
Matplotlib数据可视化——bar柱状图
不知道为什么第四象限的数字位置不是我所期望的,望看到的大佬赐教几个要点:函数原型: numpy.random.uniform(low,high,size)功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。可以使用list转换输...原创 2018-11-23 07:52:03 · 743 阅读 · 0 评论 -
Matplotlib数据可视化——contour等高线图
等高线大家都不陌生,这个词来源对地势地貌的描述。在机器学习的随机梯度下降中涉及了等高线图用以形象的描述每次迭代的步距、方向等,这也正是它的用武之地。仅仅学习其中的皮毛。君子性非异也,善假于物也import numpy as npimport matplotlib.pyplot as plt# 定义高度函数def height(x, y): return (1-x/2+x**5+...原创 2018-11-25 13:37:15 · 8068 阅读 · 0 评论 -
Matplotlib数据可视化——3D视图
import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = Axes3D(fig)X = np.arange(-4,4,0.25)Y = np.arange(-4,4,0.25)X, Y = np.meshgrid(X,Y...原创 2018-11-26 22:34:48 · 874 阅读 · 0 评论 -
Matplotlib数据可视化——subplot的另外三种常用方法
第一种方法:subplot2grid定义一个3*3的矩阵位置,利用subplot2grid分别框选出想要的区域大小,进而在区域中plot出想绘制的函数即可,colspan与rowspan分别表示行数和列数,用来界定大小说明:通过这种方法设置title和label需要在前面加上set_import matplotlib.pyplot as plt# 第一种方法plt.figure()...原创 2018-12-02 16:40:18 · 809 阅读 · 2 评论 -
Matplotlib数据可视化——图中图
import matplotlib.pyplot as plt"""图中图实验"""# 绘制大图fig = plt.figure() # 使用figure后往往在函数前要加set_或add_等前缀x = [1,2,3,4,5,6,7]y = [1,3,4,2,5,8,6]left, bottom,width, height = 0.1, 0.1, 0.8, 0.8ax1 =...原创 2018-11-30 13:09:58 · 1461 阅读 · 0 评论 -
Matplotlib数据可视化——显示图片【对比OpenCV显示图片】
第一个是自己建立了一个矩阵当做图片显示,代码和图片如下:A = [0.3136, 0.3654, 0.4237, 0.3653, 0.4396, 0.5251, 0.4237, 0.5251, 0.6515]image = np.array(A).reshape(3, 3)plt.imshow(image, interpolation='nearest', cmap='bone'...原创 2018-11-27 21:43:34 · 4177 阅读 · 0 评论 -
Matplotlib数据可视化——次坐标
何谓次坐标,即共享一个x轴,左右两个y轴。左边为主,右侧为次import matplotlib.pyplot as pltimport numpy as np# 构造两个函数x = np.arange(0, 10, 0.2)y1 = 0.27*x**2y2 = -y1fig, ax1 = plt.subplots()ax2 = ax1.twinx()# 将x轴镜像处理ax1.p...原创 2018-11-30 18:19:01 · 752 阅读 · 0 评论 -
Matplotlib数据可视化——subplot多合一显示
import matplotlib.pyplot as pltplt.figure()# 第一幅图plt.subplot(2,2,1)plt.plot([0, 1], [0, 1])# 第二幅图plt.subplot(2,2,2)plt.plot([0, 1], [0, 2])# 第三幅图plt.subplot(223) # 允许这种省略逗号的操作plt.plot([0, 1...原创 2018-11-27 23:05:27 · 810 阅读 · 0 评论 -
OpenCV-Python之图像金字塔
图像金字塔化:先进行图像平滑,再进行降采样,根据降采样率,得到一系列尺寸逐渐减小的图像。操作:操作:n次(高斯卷积->2倍降采样)->n层金字塔目的:捕捉不同尺寸的物体直接降采样会损失信息,所以在降采样之前要进行高斯滤波def pyramid_demo(img): level = 3 temp = img.copy() pyramid_image = ...原创 2018-12-14 18:24:08 · 338 阅读 · 0 评论 -
OpenCV-Python之图像梯度
Sobel算子对应一阶导数Laplace算子对应二阶导数Sobel算子(Schar)import cv2 as cvdef sobel_demo(image): grad_x = cv.Sobel(image, cv.CV_32F, 1, 0) # 使用CV_32F防止数据溢出 grad_y = cv.Sobel(image, cv.CV_32F, 0, 1) ...原创 2018-12-16 17:16:23 · 1035 阅读 · 0 评论 -
python中字典容器的用武之地
人需要学会释怀,然后重新出发。在近半年的研途里,学会了很多东西,和朋友们讨论问题也总能给予我灵感和动力。感谢这群小伙伴。12月中旬,我该朝着目标继续前进了。今天的想法是快速梳理一下python的一些遗忘的细节,晚上再看一篇...原创 2018-12-22 09:17:59 · 251 阅读 · 0 评论 -
TensorFlow-gpu安装
这里我整整拖了三个月,一个是学习Linux和课题压力的原因,还有一个原因就是坚持很久的东西突然断掉了就很不情愿重新拾起,我要改掉这个恶习。重要细节:1.将国内镜像源改成中科大而不是清华镜像!!!首先说明,anaconda默认的下载路径是外国网址,下载速度很慢,首先将默认下载地址改成国内镜像。试了清华镜像还是很慢,就是因为这个一直没有头绪,今天看到一个帖子说中科大的镜像更好用更快!!!2....原创 2018-11-10 11:14:59 · 256 阅读 · 0 评论