python
文章平均质量分 81
渡边君
CV
展开
-
matplotlib库中一些常见用法的整理(1)
做毕业论文的时候需要绘制相关的图像,发现遇到一个问题:就是我所得到的一维数组的数值太小了,直接用pyplot.plot()输出的话,似乎默认的纵坐标的刻度没那么小,所以得不到图像。索性就自己把相关的东西都看一下然后整理,否则每次都是百度太纵容自己的惰性了。matplotlib.pyplot.plot 一般的用法是matplotlib.pyplot.plot(*args,*...原创 2018-06-23 11:11:22 · 6621 阅读 · 0 评论 -
有加密的m3u8视频下载以及解码方法
突然心血来潮想着,之前爬虫学习也可以爬取一些数据和图片了,那么视频呢?是不是也是找到一个 url 然后直接写入文件保存就可以呢?事实证明没那么容易,四处查资料还是折腾了一天,最后终于可以了。在众多博文中帮助最大的就是如下这篇,非常感谢。https://blog.csdn.net/a33445621/article/details/80377424 总的来说,根...原创 2018-12-15 17:21:22 · 115193 阅读 · 33 评论 -
leetcode(1) 两数之和
给定一个整数数组 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 例如给出一个 target 为 9,nums为 [2, 7, 11, 17] ,那么结果应该返回 [0, 1]。 对于一个算法,我们需要考虑的是它的...原创 2018-12-21 00:44:35 · 247 阅读 · 0 评论 -
分治策略解决“最大子数组”问题
分治策略,大致可以理解为,我们遇到一个规模比较大的问题,可以考虑将其划分为若干个规模较小的问题,然后规模较小的问题可以再继续分,知道问题变得显然容易解决。听起来和递归有点相似,严格上讲,分治是一种思想,递归是对自身的调用,二者是不同层次的概念,但是他们都是在降低需要处理的规模。 最大子数组问题,给出一个数组,其中有实数若干,我们要找到一个子数组(连续的),使得该子数组...原创 2018-12-24 08:56:33 · 2074 阅读 · 1 评论 -
数字图像处理的python实践(6)——双线性插值算法
该章节的目的是讨论双线性插值在图像旋转中的效果。基本引用上一篇文章中的旋转的代码,其中使用的是最近邻插值,取而代之。 线性插值,一维情况下,即我们有两个点,,现在要用线性插值求的数值为 那么双线性插值也是一样的思维,从下图中可以看出,现在一个方向上做插值,然后再在另一个方向上做插值,得到的结果即使我们点所要取的数值。图片引用自百度百科 ...原创 2019-07-01 14:51:55 · 1879 阅读 · 0 评论 -
数字图像处理的python实践(1)——RGB转灰度
之前接触过PIL(Python Image Library)这个python很方便的图像处理的库,其中封装了不少与图像处理相关的内容。最近在从零开始学习数字图像处理,了解了许多处理的数学原理,凡是数学相关的东西,如果没有自己动手算个几次,称不上对这个内容有所了解。 首先是RGB转灰度图,原理自然是将三个通道的数值计算后得到一个通道的数值。PIL.Image对象有一个...原创 2019-06-26 14:22:27 · 1822 阅读 · 2 评论 -
数字图像处理的python实践(2)——灰度线性、对数、指数变换
我们目前比较好处理的对象是灰度图,因为它只有一个通道,也就意味着很多计算我们减少了一个维度,自然轻松一些。对于灰度图,首先要了解的是灰度直方图,也就是整体的图像中,灰度值的分布情况,通过直方图的形式来显示图片中是高灰度值的区域偏多还是低灰度值的区域偏多或者是其他情况,来指导我们后续的其他操作。以我们的之前转灰度的图片为例,结合matplotlib.pyplot库绘制归一化直方图的代...原创 2019-06-27 16:02:57 · 11812 阅读 · 1 评论 -
数字图像处理的python实践(7)——图像平滑和高斯平滑
滤波是信号处理中的概念,指的是将信号中特定波段频率滤除的操作。在图像处理中,和通过傅里叶变化实现的频域下的滤波是等效的,所以也称为滤波。首先要学习的是空间域滤波,主要是基于邻域(空间域)对图像中的像素执行计算,这个术语用来区分之后会学习的频率域滤波。 所谓平滑,主要目的是为了减少和抑制图像中的噪声,在空间域中使用邻域平均的方法来实现。最最简单的就是平滑模板,是下方公式...原创 2019-07-02 16:13:15 · 5937 阅读 · 2 评论 -
数字图像处理的python实践(11)——傅里叶变换和快速傅里叶变换
前面接触了空间域图像增强,现在要来学习频率域的图像增强。 对于一维的连续函数,定义域为整个时间轴的非周期函数f(t),它的傅里叶变换为 对应的逆傅里叶变换为 一维的离散函数 (其中x=0,1,2,...,M-1) 的傅里叶变换和逆变换为 对于二维的情况,二维连续函数f(x,y)的傅里叶变换...原创 2019-07-08 13:52:34 · 7355 阅读 · 1 评论 -
数字图像处理的python实践(3)——直方图均衡化
直方图均衡化又称为灰度均衡化,指的是通过某种灰度映射规律,来将输入图像转换成灰度直方图中每个范围内的像素点数目都基本一致的输出图像。这种情况下的输出图像,由于图中的不同数值的灰度数量分布是均匀的,图像也会拥有较高的对比度和较大的动态范围,不会出现直方图中集中在低值区域或者是集中在高值区域,对我们后续其他操作也有一定的帮助。 虽然现实中的图像都是离散的,均衡化的对象也...原创 2019-06-28 14:39:11 · 1590 阅读 · 1 评论 -
数字图像处理的python实践(4)——几何变换之平移、镜像、转置
几何变换是图像处理中的重要模块,标题中所涉及的内容都是很简单的,不多说明直接上代码了。首先是平移,因为像素点都是离散的,如果出现不是整数的平移矢量,需要进行一些其他的判断,我们暂时不讨论这种比较复杂的情况,在之后的缩放中再看当处理后的图像的点在原图中的对应位置并不落在像素点上的处理方法。from PIL import Imageimport numpy as npimpor...原创 2019-06-28 20:50:13 · 1371 阅读 · 0 评论 -
数字图像处理的python实现(8)——中值滤波
无论是平均平滑还是高斯平滑,在处理图像噪声时,都或多或少会对图片产生一定的模糊,损失部分信息。较为理想的情况,是可以选择性地进行滤波,只在噪声区域进行平滑,而在无噪声区域不进行平滑,将模糊的影响降到最低,这就是自适应性滤波的思想。通常噪声的存在,可能会使得附近邻域内,极值的上下差距较大,或者是方差较大,我们可以设置一定的阈值来判断该点是否需要进行平滑。不过这个不是该章节的内容,这一...原创 2019-07-04 13:56:53 · 31133 阅读 · 17 评论 -
数字图像处理的python实践(5)——图像缩放、旋转
图像缩放是我们在进行图像处理时非常常用的一个手段,例如进行机深度学习时都需要将训练集中的图片调整到相同的尺寸大小。通常描述图片缩放有两种方式,第一种是PIL.Image.resize(height, width),输入调整后的尺寸;另一种是给出在x方向和y方向的缩放比率,我们先讨论第二种。 假设在x方向上的缩放比率是,在y方向上的缩放比率是。用矩阵来描述映射关系,下...原创 2019-06-30 20:47:21 · 2903 阅读 · 0 评论 -
数字图像处理的python实践(9)——图像锐化
图像锐化是和平滑相反的操作,目的是为了使模糊的图像变得清晰。既然是相反的目的,那么操作应该也是相反的,平滑使用的是图像邻域的加权求和或者是积分运算,而锐化则是使用求导数(梯度)或有限差分来实现。基于一阶导数的图像增强——梯度算子 对于二维的连续函数,在点(x,y)处的梯度为 其中两个偏导数的计算公式为 梯度的幅值作为...原创 2019-07-04 20:21:24 · 28896 阅读 · 3 评论 -
数字图像处理的python实践(12)——频域低通滤波器和高斯低通滤波器
上一章中学习了一维离散傅里叶变换的概念和实现。但在具体的图像中实现还是有点不足,首先我们需要输入图像的尺寸都是2的整数次幂,这个条件太过苛刻了,如果使用Resize又会损失信息。目前还是以熟悉为主,所以选择用numpy自带的方法来进行频域的转换。 那么很简单的,首要就是试一下把一张图片从空间域转换到频域上,然后在频域上分解成幅度谱和相位谱,然后再反过来利用幅度谱和相位...原创 2019-07-14 19:42:42 · 10054 阅读 · 1 评论 -
数字图像处理的python实践(13)——频域高通高斯滤波和拉普拉斯滤波
图像的锐化可以通过衰减图像频谱中的低频成分来实现,这建立起了空间域图像锐化和频率域高通滤波之间的对应关系。我们想要实现和上一章中高斯低通滤波相反的效果,即高斯高通滤波,实现的方法和上一章的代码基本一致,就是滤波函数有所不同,形式为 实现的代码如下,图像还是那熟悉的动漫女头,处理后边缘显得很清晰很突出,而除了边缘外其他的区域的颜色都是浅色。当sigma的数值越大,边缘提...原创 2019-07-15 15:08:58 · 6568 阅读 · 0 评论 -
创建一个进度条来展示执行的过程
我们想象中的进度条,就是在一行的,然后会动态的刷新。例如一共有 20 个格,一开始都是 "-",当进度多完成了 5% 我们就将一个 “-” 转变成 "*",最好的在这一行的结尾还有一个数字,可以以百分比的形式进一步展示。实现这个功能,查了一下发现需要两个函数,sys.stdout.write 和 sys.stdout.flush。 sys.stdout.writ...原创 2018-12-02 13:55:29 · 903 阅读 · 0 评论 -
信息论 Information Theory 自学心得
在 tensrflow 的学习教程中肯定就会谈到,如何设置误差函数,最常见的就是交叉熵,文档中给了一篇学习资料,讲了交叉熵设计的学科——信息论,看了英文文档后有所感悟,特此记录。 前半部分我还是习惯概述所学习的文章的内容,后半部分才是自己的总结,如果有幸有其他的同学看到我的文章,若发现有什么不对的地方希望可以评论一起探讨一下。文档的地址是http://colah.gi...原创 2018-07-24 19:31:50 · 1977 阅读 · 0 评论 -
Django 1.8.2 学习笔记3
上一章我们的进度到了管理员界面中,成功创建了管理员,然后在 booktes/admin/py 中导入了我们创建的模型类,就可以在浏览器中查看到我们定义的模型类和它的实例们。以 ClassInfo 为例: 此处展示的界面是系统默认的展示界面。我们可以自己定义管理界面,需要创建一个类,继承自 admin.ModelAdmin。把创建的类写进去 booktest/admi...原创 2018-09-26 23:32:13 · 133 阅读 · 0 评论 -
Django 1.8.2 学习笔记4
之前做的内容都是与数据库的交互,回忆 django 的整体思想 MVT,之前做的就是 Model 模型,接下来来学习 V views 视图。M 负责与数据库进行交互,V 负责与 web 请求进行交互。 首先我们在 booktest/views.py 中导入 HttpResponse 类来产生响应,定义了一个函数 index。这就是 Views 视图的意义所在,储存我...原创 2018-09-29 09:28:43 · 139 阅读 · 0 评论 -
Django 1.8.2 学习笔记1——数据库 pymysql 和装饰器
最近深感上课学的东西比较多,对于一些框架学得不深刻,甚至到只能够照着老师的代码写,稍微一点修改都会导致失败,例如之前的 jquery 就给我这种感受,这两周学 tensorflow 也会。知其然不知其所以然着实让人心里没底,还是要设法往深处研究更好。在开始学习 Django 之前半学习半温习地补充了一些内容。 首先明确,后台需要和数据服务联系在一起,所以首先需要了解的...原创 2018-09-26 23:32:01 · 254 阅读 · 0 评论 -
Django 1.8.2 学习笔记2
今天还另外学习了 Django 框架的搭建,主要的内容不多,就是数据库的操作。因为搭建起一个后台,我们希望在使用,尤其是非编程人员在管理的时候更简单明了,所以涉及 SQL 语句之类的是很不理想的情况;所以我们用 Django 中的 MVT 模型中的 M 即 model 模型来管理。 我所使用的 python 是 3.6,django 是 1.8.2。 安...原创 2018-09-26 23:32:07 · 217 阅读 · 0 评论 -
Pandas、Numpy、Talib 的小知识点
做笔试题的时候发现 pandas 没怎么学过,很久之前很潦草地看过而已,现在把金融分析里面常用的方法整理一下。 pandas 中有若干个常用的数据类型,先来看 Series,是 pandas 中的一维数组,常用于时间序列分析。创建 Series 可以传入一个数组,也可以是字典(以键作为索引),import pandas as pd# ...转载 2018-09-29 08:55:10 · 3642 阅读 · 0 评论 -
Matplotlib 在金融分析中的使用
记录学习过程,深化理解。 在 jupyter notebook 中 plt.show 无法显示图像,需要在代码最前面加上以下内容。#matplotlib inlineMatplotlib.pyplot.hist 直方图matplotlib.pyplot.hist(x, bins=None, range=None, density=None, wei...转载 2018-10-28 16:10:22 · 1718 阅读 · 0 评论 -
pandas 常用内置函数整理
pct_change() 计算百分比变化。cov() 计算协方差。其中用到了内置函数 concat,它是以 Series 对象组成的列表为输出,当参数 axis 的值为 1 的时候把他们一行一行从左到右的组合成一个 DataFrame 的对象,。然后使用方法 cov 得到这三个行之间的一个相关矩阵。import pandas as pdimp...转载 2018-10-29 10:47:05 · 4964 阅读 · 3 评论 -
用爬虫搭建自己的行情数据库
我所选择的网址是证券之星,首先想做的第一个函数的功能是爬取 A 股的股票名单和代号。下面的图片是第二页,ranklist_a_3_1_2 中的 2 很显然表示的是第二页,通过一个循环就可以获取所有的 html 内容。 这里使用一个新的库 bs4,用它可以很轻易地把一个 html 对象转化成 xml 对象,也就是一个树状的由很多节点组成结构,我们可以用获取某...原创 2018-12-05 21:23:39 · 1524 阅读 · 0 评论 -
数字图像处理的python实践(10)——高提升滤波
回忆下我们之前使用的一阶微分的Robert、Sobel算子或者是二维的拉普拉斯算子,其中各个系数之和都为0。说明了算子在灰度恒定的区域的响应为0,这就导致了我们在锐化之后的图像中,除了边缘处之外的区域都变成了黑色,只有高灰度值的边缘、细节和灰度跳变点作为黑背景中的高灰度部分突出显示。我们更加希望,在基于锐化的图像增强中,可以保留原图像中的信息,所以可以将原图像和锐化后的图像相加来得到...原创 2019-07-06 06:45:38 · 1348 阅读 · 2 评论