python
风 先生
这个作者很懒,什么都没留下…
展开
-
python Image模块调用show()异常问题
ubuntu系统ubuntu15.10系统,python2.7(version) import Image im = Image.open(‘1.jpg’) im.show() 运行后,无任何显示,也没有提示错误,im.size等属性显示正常。问题解析:Displays an image. This method is mainly intended for debugging purpos原创 2016-05-13 12:20:23 · 6098 阅读 · 0 评论 -
opencv 分水岭算法
分水岭在地理学上就是指一个山脊,水通常会沿着山脊的两边流向不同的“汇水盆”。分水岭算法是一种用于图像分割的经典算法,是基于拓扑理论的数学形态学的分割方法。如果图像中的目标物体是连在一起的,则分割起来会更困难,分水岭算法经常用于处理这类问题,通常会取得比较好的效果。 那我们先来看一下opencv当中,分水岭算法watershed的实现。 opencv的watershed是在Meyer, F.Col原创 2016-11-06 01:07:43 · 5869 阅读 · 2 评论 -
给Python中通过urlopen/urlretrieve获取网页的过程中,添加gzip的解压缩支持
之前已经实现了用python获取网页的内容,相关已实现代码为:try: html = urlopen(req) except HTTPError, e: print 'HTTPErrorerr' print e.code print e.read() return None except BadStatu原创 2016-11-20 02:24:54 · 1168 阅读 · 0 评论 -
matplotlib为图片上添加触发事件进行交互
这篇文章的目的出于实验的需要,我需要对图片上的部分区域做出涂抹标记,本来是选择用opencv做交互的,但在需要进行图像的输出以及鼠标时间添加时,opencv出现错误。解决方案网上有很多,尝试以后依然bug,这里先做一个记录,有时间再来处理。错误报告如下:OpenCV Error: Unspecified error (The function is not implemented. Rebuild原创 2016-12-21 12:50:06 · 6230 阅读 · 2 评论 -
贝叶斯思维——chapter5(胜率和加数)
5.1 胜率通常用[0,1]之间的数字来表示概率,不过这并非唯一的方法。也可用博彩业的另一种概率表示形式——胜率(odd)。 胜率是一个事件可能发生的概率与不发生的概率比值。 假如球队A同球队B比赛,获胜的概率为75%,我会说他们的胜率是3:1。 但当概率较低,通常称之为赔率(odd against),而不是胜率(odds in favor)。例子中球队B获胜的概率为25%,我会说他们的赔率原创 2017-12-22 00:46:39 · 2262 阅读 · 2 评论 -
百度语音识别API的简单应用
1. prepare根据百度开发文档的提示可以知道,API仅能处理特定格式的语音文件。 由于底层识别使用的是pcm,因此推荐直接上传pcm文件。如果上传其它格式,会在服务器端转码成pcm,调用接口的耗时会增加。 语音识别仅支持以下格式 :pcm(不压缩)、wav(不压缩,pcm编码)、amr(有损压缩格式);8k/16k 采样率 16bit 位深的单声道。即: pc...原创 2018-04-02 01:32:13 · 16258 阅读 · 1 评论 -
Python Socket 编程:聊天室程序的展开
模块信息简介:asyncoreAsyncore是python的标准库。文件asyncore.py中最重要的类为dispatcher,使用的时候只需要继承asyncore.dispatcher就好了可以这样理解每一个继承了asyncore.dispatcher的类都代表了一个socket(监听socket或者连接socket)实际上,asyncore.dispatcher就是对s...原创 2018-05-07 02:12:30 · 1267 阅读 · 0 评论 -
gridsearchcv(网格搜索)&kfold validation(k折验证) in ML
网格搜索算法是一种通过遍历给定的参数组合来优化给定模型性能的方法。以决策树为例,当我们确定了要使用决策树算法的时候,为了能够更好地拟合和预测,我们需要调整它的参数。在决策树算法中,我们通常选择的参数是决策树的最大深度。于是我们会给出一系列的最大深度的值,比如 {‘max_depth’: [1,2,3,4,5]},我们会尽可能包含最优最大深度。不过,我们如何知道哪一个最大深度的模型是最好...转载 2018-05-21 02:27:26 · 5465 阅读 · 1 评论 -
图像二值化(python+opencv)
定义:图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。 一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。这是研究灰度变换的最特殊的方法,称为图像的二值化(Binarization)。全局阈值:Py...原创 2018-05-26 00:48:07 · 16234 阅读 · 1 评论 -
轮廓检测(python+opencv)
轮廓可以理解为图像中具有相同颜色或密度的位于边界的连续点的集合,轮廓是形状分析和对象识别的有利工具。 在python-OpenCV中,我们常用findContours函数来计算轮廓,每个独立的轮廓都是以Numpy array的点坐标的形式呈现。 为了在图像中显示出计算出的轮廓,我们使用drawContours函数。通常这个函数会配合findContours使用。官方文档相关api...原创 2018-05-27 17:11:42 · 13703 阅读 · 0 评论 -
开/闭运算(python+opencv)
接下来介绍图像形态学中的几个基本操作:腐蚀、膨胀、开操作、闭操作。 腐蚀好吧,其实就是选择滑动窗口中像素值最小的点(局部最小值) 公式表示:dst(x,y)=min(x′,y′)src(x+x′,y+y′)dst(x,y)=min(x′,y′)src(x+x′,y+y′) dst(x,y) = min_{(x\prime,y\prime)}src(x+x\prime,y+y\pr...原创 2018-05-29 02:34:40 · 16130 阅读 · 2 评论 -
Python—Django配置问题:Unknown command: 'syncdb'
在配置完数据库mysite/settings.py后,DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }}run python manage.py syncdb...原创 2018-06-07 00:50:15 · 2447 阅读 · 0 评论 -
Ubuntu16.04+GXT1060+cuda9.0+cudnn7.1+tensorflow1.8
目录目录准备工作环境基础安装包下载安装流程清理环境安装Nvidia驱动验证安装Cuda&cudnnCudacudnn验证cuda的安装安装tensorflow准备工作环境基础linux系统:16.04.1-Ubuntu X86_64显卡:GXT1060 gcc –version gcc (Ubuntu ...原创 2018-06-23 16:48:35 · 4264 阅读 · 0 评论 -
朴素贝叶斯理论推导与三种常见模型
1. 朴素贝叶斯的理论基础贝叶斯定理、特征条件独立假设就是朴素贝叶斯的两个重要的理论基础。1.1 贝叶斯定理P(A|B)表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为:P(A|B)=P(AB)P(B)P(A|B)=P(AB)P(B)P(A|B)=P(AB)P(B) 贝叶斯定理便是基于条件概率,通过P(A|B)来求P(B|A):...转载 2018-07-03 00:28:27 · 1859 阅读 · 0 评论 -
Python Signal 信号
最开始,这个问题是在一个笔试题里面遇到的,题意大概:“Linux控制台下运行一个程序,运行过程中ctrl+c终止当前进程,现在希望能够能够无视掉ctrl+c的操作。”信号的概念信号(signal):进程之间通讯的方式,是一种软件中断。一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号。操作系统规定了进程收到信号以后的默认行为,但是,我们可以通过绑定信号处理函数来修改进程收到信号以后的行为,有转载 2016-09-27 10:57:52 · 4809 阅读 · 0 评论 -
两个矩形的交并比(IOU)
两个矩形的交并比(IOU)由于最近的项目里面要用到,虽然是个小东西,但还是来记录一下.我们先来看下IOU的公式:IOU=area(RIOT⋂RIOG)area(RIOT⋃RIOG) IOU=\frac{area(RIO_T\bigcap RIO_G)}{area(RIO_T\bigcup RIO_G)} 现在我们知道矩形T的左下角坐标(X0,Y0)(X_0,Y_0),右上角坐标(X1,Y1)原创 2016-10-21 21:53:03 · 24058 阅读 · 7 评论 -
Python中的二维数组(list与numpy.array)
关于python中的二维数组,主要有list和numpy.array两种。 好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的。 我们主要讨论list和numpy.array的区别: 我们可以通过以下的代码看出二者的区别>>import numpy as np>>a=[[1,2,3],[4,5,6],[7,8,9]]>>a[[原创 2016-05-18 16:53:47 · 85968 阅读 · 3 评论 -
python基础数据类型及内置容器详解
转载并微调自:http://www.cnblogs.com/linjiqin/p/3608541.html基础数据类型字符串如何在Python中使用字符串:1、使用单引号或者双引号(‘、”) 用单引号括起来表示字符串,例如:str1='this is string'print str1str2="this is string"print str22、使用三引号(”’) 利用三引号,表示多行转载 2016-03-17 19:15:58 · 4120 阅读 · 1 评论 -
Python语法基础——关于全局变量与局部变量
1、函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量,不管全局域中有没有用到该变量名,函数中使用的将是局部变量,例如:num = 100def func(): num = 123 print(num)func()输出:123说明函数中定义的num是一个局部变量,会将全局变量覆盖。再例如:num = 100def func(): num += 100转载 2016-06-01 11:26:20 · 348 阅读 · 0 评论 -
Stanford机器学习__Lecture notes CS229. Linear Regression(1)
在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括原创 2016-08-26 17:41:47 · 2611 阅读 · 0 评论 -
Stanford机器学习__Lecture notes CS229. Linear Regression(2)
Stanford机器学习__Lecture notes CS229. Linear Regression(1) 我们之前用简单最小二乘法解决了简单线性回归的问题,那么我们为什么选择最小二乘法作为目标函数,为什么要让模型的预测数据与实际数据之差的平方而不是绝对值和最小来优化模型参数?最小二乘法的概率解释(Probabilistic interpretation)假设:我们知道,大部分模型都是理想状态原创 2016-08-28 00:46:52 · 1223 阅读 · 0 评论 -
python __call__ 函数
__call__Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。 换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。class g_dpm(object): def __init__(self, g): self.g = g def __call__(self, t): re转载 2016-08-19 15:39:46 · 721 阅读 · 0 评论 -
洗牌算法shuffle
将原来数组的数组进行打散,使原数组的某个数在打散后的数组中的每个位置上等概率的出现。很容易想到,需要用到随机数函数,而且应该是一个平均分布的随机数函数,还需要一个不放回的采样的生成模式。(1)random.seed([x]) 伪随机数生成模块。如果不提供 seed,默认使用系统时间。使用相同的 seed,可以获得完全相同的随机数序列,常用于算法改进测试。>>>from random import转载 2016-09-01 22:48:00 · 7140 阅读 · 0 评论 -
Python 局部变量与全局变量
问题由来: 考虑到想在运行结束后的用户空间里面查看一下数据,我把data1作为全局变量来进行处理。data1 = []function a1() data1 = readDatafunction a2() data1.dealDataif __name__ == "__main__": a1() a2()此时,a2()函数没有任何输出,即data1为空。语法基原创 2016-08-12 23:01:37 · 5428 阅读 · 0 评论 -
Python——关于中文编码的问题
事起:一直在用spyder进行python程序的编写,今天在添加中文注释的时候,忽然spyder就在命令窗口提示编码问题。python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。 查询系统默认编码可以在解释器中输入以下命令:import syssys.getdefaultencoding() 临时性解决方案:reload(sys)sy转载 2016-08-13 21:27:11 · 13706 阅读 · 0 评论 -
numpy.ravel() vs numpy.flatten()
首先声明两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。验证两者的功能>>> x = np.array转载 2016-08-27 00:37:32 · 4873 阅读 · 0 评论 -
Stanford机器学习__Lecture notes CS229. Linear Regression(3)
多项式线性拟合:前面我们建立假设H0(θ) = θ0 + θ1x对数据进行了简单线性回归的拟合。 但事实上这样的假设存在着极大的主观性,从数据分布上来看(人工数据,从开始我就知道假设H0不可能满足分布)。为了得到更合适的回归拟合,我们提出了三种不同的特征的选择方式,结果如下: 左图,假设为H0(θ) = θ0 + θ1x ,我们可以看到数据不能很好的和数据相吻合。 假设变量y与x的关系为n次原创 2016-08-28 11:59:58 · 938 阅读 · 0 评论 -
贝叶斯思维——chapter3(估计)
贝叶斯思维——chapter3(估计)写在前面: 库文件链接: thinkbayes.py3.1 骰子问题假设我有5颗骰子,分别为4面,6面,8面,12面,20面。 现在我从里面随机选取一个,投掷以后得到6,问我最有可能取出的是哪个骰子? 我们通过一下3个步骤来解决这个问题:选择假设的表示方法选择数据的表示方法编写似然度函数现在我们用[4,6,8,12,20]来表示假设:suite =原创 2016-09-10 20:59:12 · 1519 阅读 · 0 评论 -
贝叶斯思维——chapter4(估计进阶)
贝叶斯思维——chapter4(估计进阶)写在前面: 库文件链接:thinkbayes.py4.1 欧元问题问题:《信息论:推理和学习算法》中,有过这样一个问题:“当硬币以边缘转动250次,得到正面140次,反面110次。”,“统计学声明称:如果这是一个均匀的硬币,这样的结果出现的可能性小于7%。”上述结果是否对“硬币偏心而非均匀”提供了证据?解:我们将采取一下步骤来回答这个问题。估计该硬币正面原创 2016-09-21 21:21:49 · 1381 阅读 · 3 评论 -
Ubuntu配置Supervisor管理进程
目录Supervisor的作用supervisor组件安装配置管理命令program配置web管理界面Supervisor的作用Supervisor( http://supervisord.org )是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个用户关注的进程。用...原创 2019-03-10 15:15:35 · 1968 阅读 · 0 评论