自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

czl389的专栏

github上有博客代码不要积分, ID: czl389 ╮(╯▽╰)╭

  • 博客(81)
  • 资源 (4)
  • 收藏
  • 关注

原创 在k8s上安装OpenFaaS

安装OpenFaaS(总览)此教程包含以下步骤:安装OpenFaaS CLI使用helm 部署OpenFaaS获得OpenFaaS gateway 地址记住登录gateway 的密码凭证登录、部署函数,试用web UI准备k8s集群开始之前,你需要拥有一个k8s集群。我这里是使用minikube 搭建的单节点k8s。参考 minikube部署k8s。安装faas-clifaas-cli 是OpenFaaS的命令行客户端。在window下,mimikube启动一个linux虚拟机

2021-06-11 14:55:25 1163 1

原创 minikube部署k8s

1. 下载安装minikube最新版(目前是v1.20.0)https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe2. minikube start 命令windows 环境下,minikube需要启动虚拟机,这里使用virtualbox。minikube start --driver=virtualbox --registry-mirror=https://registry.docker-c

2021-06-11 09:44:25 725

原创 我的收藏

带着问题学习分布式系统

2021-05-14 11:44:25 238

原创 汉诺塔 python 解法

汉诺塔 python 解法将n个盘片从x 转移到z, y是中介。可以分解符为3步:将x上面n-1个盘片转移到y;将x 最底部的盘片转移到z;将y上的n-1个盘片转移到z;step = 0# x --> zdef hanoi(n, x, y, z): if n == 1: global step step += 1 print('step ' + str(step) + ': ' + x + '-->' + z)

2020-11-01 21:46:41 261

原创 八皇后问题python解法

八皇后问题python解法递归解法,board 是一维列表,下标表示行,值表示皇后所在的列。board = [-1] * 8def printboard(result): for v in result: length = len(result) print('□ '*v + '■ ' + '□ '* (length-v-1)) print('\n')def is_valid(board, row, col): for r in ran

2020-11-01 21:30:53 374

原创 《剑指offer》python实现

配合Online Judge刷题,体验更佳!剑指offer_编程题_牛客网二维数组中的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数# -*- coding:utf-8 -*-class Solution: # array...

2020-01-30 22:30:16 370

原创 Windows下QT Creator配置OpenCV(VC版)

Windows环境下的编程工具Visual Studio,调试功能很好用。之前是在VS上写调用OpenCV库的C++代码。现在有设计界面的需求,但是不喜欢VS自带的C++ GUI库MFC。所以选择了安装QT。写Qt程序,可以在VS中安装Qt插件,这是一种开发方式。但QT不只是个GUI库,它还具备像VS一样的IDE,叫 Qt Creator。这篇博客介绍QT Creator和OpenCV开发环境

2018-01-23 11:22:42 5599

原创 Leetcode 70. Climbing Stairs

题意解析说一个人爬楼梯,共有n阶。每一步可以爬1阶,或者2阶。求爬这个楼梯共有多少种不同的爬法。Accepted Solution有人研究了出了结论,说这个问题的解就是斐波那契数列,没错,这是结论,我们不会推结果怎么来的,只是解决问题那么就很简单了:最简单的递归案例。 本例中阶梯数n与结果的关系:0 1 2 3 4 5 … 1 1 2 3 5 8

2017-09-06 17:31:32 758

原创 LeetCode 463. Island Perimeter

题意解析这道题需要看图。说有如下的小岛,小岛就是小岛,四周全都是水,中间没有湖泊之类的。这种布局可以用二维数组来表达,1代表陆地,0代表水。求小岛的周长。 Accepted Solution怎么统计每块陆地贡献的边数呢?如图,黄色的边是有效的,黑色的边是无效的。确立这样的准则:对于每块陆地,最多贡献4条边;检查他的邻居,如果是陆地扣除一条边。然后统计所有陆地的贡献的边数之和,即为答案。class

2017-09-06 16:49:50 713

原创 LeetCode 83. Remove Duplicates from Sorted List

题意解析链表操作题,对已经排好序的链表,如果有值重复的节点,则删除重复节点。 举例: 1->1->2 得到1->2 1->1->1->2 得到1->2Accepted Solution/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; *

2017-09-06 16:05:55 637

原创 LeetCode 437. Path Sum III

题意解析在给定的二叉树中找到这样的路径,所有元素的和等于给定整数。 路径不一定从根节点出发,到叶节点结束。而只要它满足是从上至下的。 找出所有路径的数量。Accepted Solution/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; *

2017-09-06 15:42:20 602

原创 二叉树按层打印

首先一下算法是以宽度优先算法(BFS)为基础,宽度优先搜索是基于队列实现的。通过设立两个节点变量last(当前打印层的最右节点),nlast(下一打印层的最右节点)来控制换行。算法流程:初始化:last=root (root 是根节点)循环遍历:出队打印 左右子孩子入队,并赋值nlast判断:若出队元素与last相等,则换行,并last=nlast循环终止条件:队列为空C++代码void

2017-09-01 23:19:44 1299

原创 一个案例看机器学习建模基本过程

machine learning for credit scoringBanks play a crucial role in market economies. They decide who can get finance and on what terms and can make or break investment decisions. For markets and society t

2017-08-28 23:11:58 16692 3

原创 中国有嘻哈:网易云、虾米音乐歌词爬虫项目分享

《中国有嘻哈》这款综艺带火了中国的嘻哈音乐,大家问好也都变成了:你有freestyle吗?相信大家都是因为这篇高大上的微信推送文章来的。没看到也不要紧,传送带在这里–>爱票子也爱妹子:300万字歌词分析看中国rapper到底在唱什么。真心觉得寒小阳老师的数据分析技术很厉害~还有小编的文笔也很赞~我主要负责了数据采集的部分。通俗点就是编写一个爬虫,把大量歌曲歌词爬下来。点击右侧链

2017-08-16 22:01:31 4496 6

原创 用spark统计50年美国最常见的20个名字

使用Spark统计从1950到2000年,美国有相同姓名的人出生数目,然后输出头20个最频繁出现的名字from pyspark import SparkContextsc = SparkContext('local', 'pyspark')import oscwd = os.getcwd()cwd'/home/ds/notebooks/CuiZhenlong/qqq'rdd=sc.paral

2017-08-16 20:04:55 2827

原创 Spark RDD 练习题(python)

from pyspark import SparkContextsc = SparkContext('local', 'pyspark')牛顿法求平方根我们知道牛顿法求 n√\sqrt{n} (达到eps准确度)的算法是这样的:** * 给定一个初始值 x=1.0x = 1.0. * 求xx和n/xn / x的平均(x+n/x)/2(x + n/x)/2 * 根据(x+n/x)/2(x +

2017-08-16 17:30:11 2720

原创 Python+Hadoop Streaming实现MapReduce任务

Hadoop StreamingHadoop streaming是Hadoop的一个工具, 它帮助用户创建和运行一类特殊的map/reduce作业。 这些特殊的map/reduce作业是由一些可执行文件或脚本文件充当mapper或者reducer。例如,我们可以用Python来编写脚本:mapper.py和reducer.py。$HADOOP_HOME/bin/hadoop jar

2017-08-16 16:08:03 9081 1

原创 Python可视化seaborn练习题

seaborn —— 课后练✋%matplotlib inlineimport numpy as npimport pandas as pdfrom scipy import stats, integrateimport matplotlib as mplfrom matplotlib import pyplot as pltimport seaborn as sns## 练习1:鸢

2017-08-10 23:18:35 7781 1

原创 Python matplotlib 练习题

matplotlib —— 课后练✋%matplotlib inlineimport matplotlib as mplfrom matplotlib import pyplot as pltimport seaborn as snsimport numpy as npimport pandas as pd练习1:航班乘客变化分析分析年度乘客总量变化情况(折线图)分析乘客在一年中各月

2017-08-08 21:51:06 17468 3

原创 数据分析:pandas分析链家网二手房信息

分析链家网南京市二手房信息链家网二手房数据的采集方法参见之前的博客:数据采集(四):用XPath爬取链家网房价数据总共获取30000条数据记录。import pandas as pdimport numpy as npimport matplotlib.pyplot as plt house=pd.read_csv('house.csv',sep=' ')house.head()

2017-08-03 20:10:02 11887

原创 数据采集(六):scrapy爬取搜狗微信新闻+selenium模拟鼠标点击

scrapy是一个流行的爬虫框架,为什么要用它呢?前面我们已经通过xpath或beautifulsoup实现了爬虫,scrapy又有什么不同?我在理解了这个框架之后,感觉它很灵活,很强大。 使用beautifulsoup库我们可以很方便的实现单个爬虫,最后的结果写进了一个字典。但是当考虑一个项目中有多个爬虫,或者需要将最后的结果保存进json、csv文件,mysql数据库、mogodb数据库,或者

2017-08-01 10:41:28 11040 7

原创 数据采集(五):用requests模拟登陆豆瓣

导入需要的库# -*- encoding:utf-8 -*- import urllib2 import urllib import re import cookielib import requests import cStringIOfrom PIL import Image定义登录url 表单信息 HTTP头在登录页面上输入你的豆瓣账号,点击登录。这个过程会以post的

2017-07-20 16:35:07 1284

原创 数据采集(四):用XPath爬取链家网房价数据

1.准备工作编写爬虫前的准备工作,我们需要导入用到的库,这里主要使用的是requests和lxml两个。还有一个Time库,负责设置每次抓取的休息时间。import requestsimport requestsimport timefrom lxml import etree2.抓取列表页开始抓取前当然应该了解一下目标网站URL结构咯。链家网的二手房列表页面共有100个,URL结构为 ht

2017-07-20 15:58:36 5137 2

原创 数据采集(三):用XPath爬取腾讯新闻

用XPath 爬取腾讯新闻import requestsfrom lxml import etree先用requests.get()方法请求页面result=requests.get("http://news.qq.com/")encode=result.encodingcontent=result.contentencode'GB2312'注意指定解析器的编码格式selector=et

2017-07-20 15:51:59 3293

原创 数据采集(二):腾讯新闻网,新闻标题和内容爬取

比如我对“科技”版块感兴趣,科技版块的链接是“http://tech.qq.com/” 。 首先使用requests请求网页内容。status_code为200表示请求成功。headers是将请求伪装成浏览器行为。timeout设置不能太小,考虑到人的访问手速。import requestsheaders={ 'User-Agent':'Mozilla/5.0 (Windows NT 10

2017-07-20 10:02:47 8750 2

原创 Python:练习题(列表推导式、词频统计、异常处理、正则表达式等)

题目涉及到的知识点表达式与函数:题目1、2列表切片、推导式:题目3.1、3.2、5函数:题目4、5词频统计:题目6、7、8类与对象:题目8异常处理:题目9、10正则表达式:题目7、8、11、12文件读写:题目10、11、121. 任意定义三个数(有整型和浮点型),通过比较判断,输出其最大者。a=5b=6c=4.0if a>b: if a>c: prin

2017-07-19 11:57:40 4333 1

原创 数据采集(一):requests爬取图片(3种方式)

requests爬取图片(3种方式)举例爬取百度贴吧上一张http://tieba.baidu.com/p/4468445702‘>网页上的图片,首先…打开网页# -*- coding: utf-8 -*-import requestsurl = 'http://tieba.baidu.com/p/4468445702'html = requests.get(url)#指定编码html.en

2017-07-19 00:21:59 20852 2

原创 Python:基础知识提要

基本数据类型intfloat字符串boola=2b=2.0c='xiniulab'd=Truea,b,c,d(2, 2.0, 'xiniulab', True)表达式y=a+by4.0字符串连接字符串可以用“+”\n 代表换行str1="xiniu\nhello"print str1xiniuhellostr2='\nI am coming'str3=str1+

2017-07-15 16:01:58 931

原创 直接线性变换(DLT)求解单应性矩阵

在图像拼接中,得到了两张图像的特征匹配,两个点集分别记作XX和X′X'。用单应性变换来拟合二者的关系,可表达为 c⎛⎝⎜uv1⎞⎠⎟=H⎛⎝⎜xy1⎞⎠⎟(1)c\begin{pmatrix}u\\v\\1\end{pmatrix}=H\begin{pmatrix}x\\y\\1\end{pmatrix}(1) 其中(uv1)T\begin{pmatrix}u&v&1\end{pmatrix}^

2017-05-10 14:32:18 20136 6

原创 图像单应性变换理解

什么是单应性?图像中的2D点(x,y)(x,y)可以被表示成3D向量的形式(x1,x2,x3)(x_1,x_2,x_3),其中x=x1/x3x=x_1/x_3,y=x2/x3y=x_2/x_3。它被叫做点的齐次表达,位于投影平面P2P^2上。所谓单应就是发生在投影平面P2P^2上的点和线的各种各样的映射。这种变换包括等距变换、投影变换和平面投影变换等。单应变换矩阵是一个3*3的矩阵H。这个变换可以被

2017-03-28 23:13:14 22735 2

原创 图像拼接(十三):OpenCV拼接多幅图像(以中间图像为参考)

在图像拼接(十三):OpenCV单应变换模型拼接多幅图像 这篇博客中实现了用单应变换模型拼接多幅图像,图像拼接使用的OpenCV库函数warpPerspective()。因为这个函数只有在右侧图像变换到左侧图像时才能完整显示,所以拼接过程选择了以最左侧图像为参考帧。由于累加误差,最右侧的图像出现严重的变形。如下所示:在这篇博客中,我们以中间幅图像为参考图像,实现多幅拼接。图像数量为4张,从左到右分别

2017-03-25 16:48:59 34468 11

原创 图像拼接(十二):OpenCV SeamFinder+GraphCut+最佳拼接缝寻找

很多情况下,使用一个全局单应变换并不能准确对齐图像,需要一些后处理来削弱拼接的痕迹,比如寻找最佳拼接缝。使用全局单应变换的对齐结果,实现代码参考图像拼接(六):OpenCV单应变换模型拼接两幅图像:仔细观察,在拼缝的下方出现了没对齐的问题。寻找最佳拼接缝算法中,Graph Cut很经典。它将计算机视觉问题和网络流联系在一起。寻找最佳拼接缝等价于求网络流的最小割。 在网络流问题中,最小割和最大流相等

2017-03-24 00:01:31 21399 31

原创 OpenCV设置多边形二值化掩码

无论是凸多边形,还是凹多边形,已知多边形的顶点,可获取一个多边形区域填充的掩码。 使用fillPoly函数实现。void fillPoly(Mat& img, const Point** pts, const int* npts, int ncontours, const Scalar& color, intlineType=8, int shift=0, Point offset=Point

2017-03-19 20:16:46 2116

原创 OpenCV生成点集的Delaunay剖分和Voronoi图

实现内容:设置一副图像大小为600*600,图像像素值全为0,为黑色。在图像中Rect(100,100,400,400)的区域随机产生20个点,并画出。产生这些点集的Delaunay剖分和Voronoi图,并画出。程序#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>#include <iost

2017-03-16 23:02:01 2766 1

翻译 《Learning OpenCV 3》Delaunay三角剖分和Voronoi图讲解

OpenCV2、OpenCV3包含三角剖分的接口,但是参考文档里并未介绍,给学习带来了麻烦。有一本经典的书《学习OpenCV》对其做了详细介绍。但苦于这本书的新版,迟迟没有翻译成中文,所以现在有关OpenCV三角剖分的资料都是关于OpenCV1的,是C语言的接口。我边学习边分享一下,自己的理解水平有限,如有错漏,谢谢指正。由于时间有限,不逐字翻译了,根据内容来。原文参考《Learning OpenC

2017-03-15 23:27:00 8828 1

原创 面部变形+基于特征的图像变形+field warping-Siggraph 1992

参考资料国立台湾大学-Image Morphing-Homework图像处理(十)基于特征线的图像变形-Siggraph 1992Face Morphing on Animation Producing-ntu-csie2D Image Morphing Algorithms基于特征的图像变形算法,来源于1992年的一篇论文。它是分别在两幅图像中分别选择相应的特征对(特征线段对),然后根据

2017-03-13 10:31:45 7828 4

原创 OpenCV:凸包

当评价一个点集的2D空间分布时,凸包是一个有用的工具。这个点集可以是轮廓、关键点集合等。计算凸包,OpenCV提供了函数:convexHull(Mat(points), hull, true);下面的OpenCV示例程序,随机产生了一个点集,然后计算了它的凸包。并将点集和凸包画了出来。#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/h

2017-03-08 09:14:57 1234

原创 图像拼接(十一):双摄像头实时拼接+stitching_detailed

OpenCV自带的stitching模块在追求拼接质量方面已经做得很好了,但是实时性不够,即使是拼接两幅图像。比如源程序拼接两幅640*480分辨率的图像,拼接时间为4.78″。对stitching_detailed.cpp源码进行改造,有利于提高实时性的举措有:调节初始化参数。比如使用GPU,这个需要重新编译OPenCV库。减少视频帧的分辨率。减少为320*240。将特征提取、匹配、变换矩阵

2017-03-07 17:01:09 17674 20

原创 图像拼接(十):OPenCV stitching和stitching_detailed

Stitcher类与detail类OpenCV提供了高级别的函数封装在Stitcher类中,使用很方便,不用考虑太多的细节。低级别函数封装在detail命名空间中,展示了OpenCV算法实现的很多步骤和细节,使熟悉如下拼接流水线的用户,方便自己定制。可见OpenCV图像拼接模块的实现是十分精密和复杂的,拼接的结果很完善,但同时也是费时的,完全不能够实现实时应用。我在研究detail源码时,由于水平有

2017-03-07 16:25:47 25479 7

原创 图像拼接(九):双摄像头实时视频拼接(单应变换模型)

单应变换相比平移变换,具有更广泛的场景适应性,但同时稳定性会有一定程度下降。设计到的技术细节有:特征检测与描述特征匹配与单应矩阵估计opencv采集视频渐入渐出图像融合这个解决方案的硬件条件包括:有两个USB接口的计算机,两个合理放置的USB摄像头。合理放置是指:两个摄像头分割一定夹角,相机中心相距接近,所拍摄场景有足够的重叠部分。以上保证了单应变换的可用性。代码实现:#include "

2017-03-07 11:23:42 10423 15

多幅图像拼接matlab实现 源码下载

多幅图像拼接matlab实现 sift特征提取、描述、匹配、RANSAC、仿射变换

2017-03-06

视频捕捉软件amcap

小巧的视频捕捉软件,占用空间不足1M,能够从电脑的网络摄像头或者USB摄像头中捕获视频

2017-01-18

家教信息服务平台开发

自己写的家教网站代码,功能简单,代码层次很清晰。功能包含发布信息、登录注册、查询信息等。使用php,html、mysql、bootstrap等技术工具。文件中有导出的数据库,新建账户导入数据库,重新设置连接即可完整复现网站。

2016-10-18

干涉图条纹追踪Matlab

包含有程序代码和干涉图片。运行程序在干涉图中选取某一暗条纹中心一点,追踪该条纹所有中心点。用matlab实现。

2015-11-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除