- 博客(38)
- 收藏
- 关注
原创 多线程爬虫python迷你定向网页抓取器mini_spider
目录一、整体架构1.1 流程图1.2 代码结构1.3 代码主逻辑二、知识学习总结2.1 多线程 Threading2.1.1 抓取线程2.1.2 保存线程2.2 线程间的同步 Queue2.2.1 UrlQueue2.2.2 ResQueue2.3 核心控制器部分 controller2.4 页面内容处理 bs42.4.1 页面下载2.4.2 页面解析背景:【迷你定向网页抓取器】在调研过程中,经常需要对一些网站进行定向抓取。由于python包含各种强大的库,使用python做定向抓取比较简单。请使用p
2020-12-25 20:19:48
3767
6
原创 jinja2学习总结
文章目录jinja2引入jinja2进行渲染使用语法变量 {{}}显示在模板中添加变量,可以使用(set)语句。局部变量if结构for循环迭代列表迭代字典在循环中加入else特殊运算符过滤器宏jinja2jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一个模板引擎,为Flask提供模板支持,由于其灵活,快速和安全等优点被广泛使用。引入jinja2进行渲染jinja2模块中有一个名为Enviroment的类,这个类的实例用于存储配置和全局对象,然后从文件系统或其他位置中加载模
2020-07-17 16:43:26
549
1
原创 Numpy&Pandas学习总结
文章目录Numpy基础numpy的array创建numpy属性numpy的基础运算numpy的索引numpy的array合并numpy的array分割numpy的拷贝与深拷贝Numpy基础numpy的array创建import numpy as np a = np.array([1,2,3]) # [1, 2, 3]a = np.array([[1, 2], [3, 4]]) a = np.array([1, 2, 3], dtype = float) numpy属性a
2020-07-10 20:27:44
702
2
原创 git使用方法总结Sourcetree+Github
文章目录一、git基础前言1.git安装2.新建本地数据库3.提交文件到本地数据库二、git远程数据库1.在GitHub建立远程数据库2.push到远程数据库3.clone远程数据库4.对克隆的远程数据库进行push5.从远程数据库pull三、冲突解决1.冲突原因2.解决冲突一、git基础前言#为什么使用git自己提交的多个版本进行管理多人合作避免覆盖#远程数据库和本地数据库远程数据库: 配有专用的服务器,为了多人共享而建立的数据库。本地数据库: 为了方便用户个人使用,在自己的机器上配置的数
2020-07-09 15:12:28
638
1
原创 刷题汇总(六)leetcode 多线程 / Shell
这篇文章使用 POSIX 编写多线程 C++ 程序。POSIX Threads 或 Pthreads 提供的 API 可在多种类 Unix POSIX 系统上可用,比如 FreeBSD、NetBSD、GNU/Linux、Mac OS X 和 Solaris。知识点1:创建线程/终止线程#include <pthread.h>pthread_create (thread, att...
2019-12-17 21:55:52
1331
原创 刷题汇总(五)leetcode 热题 HOT 100 C++ 答案总结
1、两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]clas...
2019-12-05 12:14:26
6235
3
原创 技术类编程题汇总 C++ 刷题记录
文章目录腾讯2018春招技术类编程题汇总1、翻转数列2、纸牌游戏3、贪吃的小Q4、小Q的歌单腾讯2018春招技术类编程题汇总1、翻转数列小Q定义了一种数列称为翻转数列:给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-’;。例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6,...
2019-12-02 11:57:52
858
原创 3D微信小游戏 轮盘控制模块 three.js
文章目录一、场景构造three.js基础微信小游戏中使用three静止的场景动画渲染二、轮盘控制创建UI部分轮盘控制效果:一、场景构造three.js基础如果是刚接触3D引擎,关于three.js的基础知识可以参考之前的博客Three.js+tween.js 基础(一) 中的基本概念篇部分。(场景 、相机 、渲染器 、添加对象)微信小游戏中使用three使用微信开发者工具创建新的小游...
2019-11-11 16:05:00
1144
原创 C++后台开发知识总结(四)操作系统/Linux 内核
中断为什么需要中断:提高CPU运行效率中断是指CPU对系统发生的某个事件做出的一种反应,CPU暂停正在执行的程序,保存现场后自动去执行相应的处理程序,处理完该事件后再返回中断处继续执行原来的程序。中断一般三类:1.由CPU外部引起的,如I/O中断、时钟中断2.来自CPU内部事件或程序执行中引起的中断,例如程序非法操作,地址越界、浮点溢出3.在程序中使用了系统调用引起的。中断处理程序:...
2019-11-08 16:23:39
2869
1
原创 C++后台开发知识总结(三)计算机网络
OSI与TCP/IP各层的结构与功能,都有哪些协议OSI七层模型及其包含的协议如下:物理层:在物理媒体上传输原始的数据比特流,传输单位为bit,主要包括的协议为:IEE802.3 CLOCK RJ45数据链路层:将数据分成一个个数据帧,以数据帧为单位传输。有应有答,遇错重发。传输单位为帧,主要包括的协议为MAC VLAN PPP网络层:负责数据包从源到宿的传递和网际互连,传输单位...
2019-09-27 01:01:31
1278
原创 C++后台开发知识总结(二)数据库
数据库索引索引是存储引擎快速找到记录的一种数据结构。添加索引原则:在查询中很少使用或者参考的列不应该创建索引。只有很少数据值的列也不应该增加索引。定义为text、image和bit数据类型的列不应该增加索引。当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能是互相矛盾的。目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构B-Tr...
2019-09-26 23:34:02
1399
原创 C++后台开发知识总结(一)C++基础
extern "C"的作用extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言(而不是C++)的方式进行编译。原因是:C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般只包括...
2019-09-26 19:13:52
2845
原创 刷题汇总(三)leetcode 精选50题 C++答案总结
题目来源腾讯精选练习(50 题)信息更新时间:2019-3-11,因为要准备面前端,就用js做了遍来熟悉JavaScript这门语言,50道题均已提交通过。补充:C++版答案(2019-8-27)GitHub地址:https://github.com/zj19941113/LeetCode-50-JavaScript-Answers1、两数相加给出两个 非空 的链表用来表示两个非负的整...
2019-09-26 01:49:22
4259
原创 常见算法的c++实现总结
#include <iostream>#include <vector>using namespace std;void insert_sort(vector<int> &nums); //直接插入排序void shell_sort(vector<int> &nums); //希尔排序void select_sort(ve...
2019-08-07 11:11:48
405
原创 刷题汇总(二)剑指Offer 66题 C++答案总结
1、二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。/* 3 4 5 4 5 6 6 7 8 从左下角开始查找,当target比左下角数字大时,右移;小时,上移*/class Solution {public: ...
2019-08-01 11:32:27
3831
原创 基于RGBD相机的人脸实时三维重建过程解析(ElasticFusion实现)
主要是在ElasticFusion基础上做了部分修改,进行人脸实时重建。PPT及相关论文地址:https://pan.baidu.com/s/1Zr1uCFj7YqgEWWof2gp-Lw ,提取码:7fnw相关算法实现链接:BundleFusion在win10+vs2013+cuda8.0上的实现DynamicFusion在ubuntu16.04+显卡GT74...
2019-06-17 11:36:20
5637
19
原创 Vue+iview+Echarts+electron 桌面应用
目录一、Vue项目创建1、安装node.js2、Vue开发环境3、搭建Vue项目(1)项目初始化(2)修改启动项(3)项目预览二、引入Echarts1、Echarts安装2、引入Echarts3、Echarts组件4、生成项目三、electron打包1、 package.json 和 main.js2、electron-packager打包(1)全局安装`electron-packager`(2)...
2019-04-29 20:01:15
6013
6
原创 一步步配置腾讯云服务器Ubuntu 通过域名访问自己的网页tomcat(详细基础)
效果STEP1:购买云服务器+域名购买学生优惠套餐 10元/月:https://cloud.tencent.com/act/campus?fromSource=gwzcw.1088196.1088196.1088196系统选ubuntu,购买3个月加购域名共38元(3个月以下没法添加域名解析),买了域名以后可以直接通过域名访问收到服务器信息,最好把这些复制到一个txt里,以后会经常用。...
2019-04-26 16:32:46
4395
8
原创 Kinect v1实时dlib(GPU版)人脸识别与活体检测
目录一、配置1、opencv2、dlib(GPU版)二、Kinect v1接入1、安装OpenNI22、安装libFreenect二、代码分析1、CMakeList.txt修改2、模型下载3、代码分析一、配置1、opencv#安装OpenCV 2.4.13注:opencv的下载过程非常慢git clone https://github.com/opencv/opencvcd openc...
2019-04-22 19:39:33
1416
1
原创 ElasticFusion在ubuntu16.04+cuda8.0上的实现
驱动与cuda安装参考这篇:https://blog.csdn.net/ffcjjhv/article/details/89151382依赖包sudo apt-get install cmake cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev sudo apt-get install freeglut3-dev l...
2019-04-12 21:06:41
2780
7
原创 BundleFusion在win10+vs2013+cuda8.0上的实现
目录介绍一、配置1、驱动与cuda8.0安装2、DirectX SDK安装二、vs2013代码生成1、mLib与 mLib external配置mLibmLib external2、cuda设置修改cuda版本显卡计算能力设置3、相机类型设置(以apt0.sens离线数据为例)输入类型修改GlobalAppState.h5、生成FriedLiver.exe三、运行与结果1、配置文件修改a.zPar...
2019-04-12 11:06:00
7363
47
原创 DynamicFusion在ubuntu16.04+显卡GT740+cuda8.0上的实现
目录介绍1、驱动与cuda安装(1)驱动安装a.驱动下载b.禁用nouveau驱动c.禁用X-Window服务d.命令行安装驱动e.驱动测试(2)cuda7.5安装2、环境配置(1)apt-get install 依赖安装(2)安装gflags、glog、Eigen、Ceresa.安装gflags、glog、Eigenb.配置ceres-solver(3)安装OpenCV 2.4.13(4)安装B...
2019-04-09 18:10:06
4097
18
原创 刷题汇总(一)leetcode 精选50题 JavaScript答案总结
题目来源: 腾讯精选练习(50 题)信息更新时间:2019-3-11,因为要准备面前端,就用js做了遍来熟悉JavaScript这门语言,50道题均已提交通过。2 两数相加 33.0% 中等/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * ...
2019-03-11 20:58:24
3380
2
原创 Three.js+tween.js 基础(一)
Three.js简介Three.js是众多WebGL三维引擎框架其中之一,源自github的一个开源项目,项目地址:https://github.com/mrdoob/three.js 。可以利用three.js进行网页上的三维场景(机械、建筑、游戏等)创建,能写出在浏览器上流畅运行的3D程序。如果没有前端基础,最好预先学习一点HTML/JavaScript方面的知识。官方文档:https:...
2019-01-26 11:08:36
11703
5
原创 利用浏览器本地存储localStorage进行换肤,改变页面字体颜色样式
效果:刷新页面,界面效果依然不会改变。相关代码:html:&lt;div class="setting_tool iconfont"&gt; &lt;a class="back2top" style="display:none;"&gt;&lt;i class="czs-ar
2019-01-24 12:21:02
1487
2
原创 c++ 实现红外图与深度图结合的人脸识别+活体检测(Ubuntu +dlib)
准备:1、Ubuntu C++ 编译dlib库https://blog.csdn.net/ffcjjhv/article/details/846608692、数据+模型下载https://pan.baidu.com/s/1jIoW6BSa5nkGWNipL7sxVQ其中包括:candidate-face.zip(人脸库:包含29个正面人脸红外图)allface.zip(测试人脸集:...
2019-01-23 12:00:20
5111
14
原创 微信小程序 人脸追踪+人脸识别+视频上传 页面
效果图:调用的百度人脸识别api,免费账户就可以,虽然有QPS限制但对于自己学习使用是足够的。代码:wxml:&amp;amp;amp;amp;amp;lt;view class=&amp;amp;amp;amp;quot;page-body&amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;lt;view class=
2019-01-17 12:23:19
12792
33
原创 C++ warning!warning!warning!
1、warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]char *imgFile = “data/IR_62_78_150_151.jpg”;分析 :char *背后的含义是:这个字符串,我要修改它。而传给函数的字面常量是没法被修改的。修正:把参数类型修改为const char...
2018-12-18 16:37:43
2308
原创 matterport mask_rcnn配置运行 Ubuntu Jupyter&pycharm
mask_rcnn github地址:https://github.com/matterport/Mask_RCNN一、配置1、安装 AncondaAnconda下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/双击进行安装,中途会弹出命令行一定不能关掉2、创建名为tensorflow的python36环境conda ...
2018-12-17 17:00:42
1243
2
原创 微信小程序跳一跳html版复原(three.js+tween.js)
You_Jump_I_Jump运行需要安装Tomcat后以类似 http://localhost:8080/zjgame/zjgame.html的方式访问,否则本地图片无法加载。注:本项目基于Three.js,是对微信小游戏跳一跳的html版改写,只供研究学习使用。效果图目前只写了盒子的生成部分和部分动画部份,附全家福一张,还没有写随机盒子生成等逻辑部分,只能跳一两下。剩下的随缘更……...
2018-12-13 18:34:54
4280
原创 Win10+python36+opencv编译配置Dlib(anoconda)实时人脸识别
要用摄像头又在笔记本上重新编译Dlib,Ubuntu看这里:https://blog.csdn.net/ffcjjhv/article/details/846608691、anconda下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/双击进行安装,中途会弹出命令行一定不能关掉2、打开Anconda Prompt,创建pytho...
2018-12-13 18:08:37
875
1
原创 Ubuntu下编译C++与python版Dlib库,附新建样例程序(dlib+opencv)
下载Dlib进入官网:http://dlib.net/ ,点击左下角Download dlib ver.19.16 ,下载后解压。安装cmake运行 sudo apt-get install cmake 安装cmake ,如果提醒需要apt-get update,那就先sudo apt-get update,然后再执行 sudo apt-get install cmake1. Pytho...
2018-11-30 16:55:00
3765
4
原创 Ubuntu+dlib+opencv摄像头实时人脸识别(含训练人脸库)
Face_Recognition_dlib环境Ubuntu 16.04opencv 3.0 for python3.6 pip install opencv-pythondlib 19.16模型下载人脸关键点检测器 predictor_path=&quot;shape_predictor_68_face_landmarks.dat人脸识别模型 face_rec_model_path = &quot;...
2018-11-29 18:50:47
9097
9
原创 人脸深度图活体检测_SVM(Ubuntu+opencv3)
环境Ubuntu ,opencv3数据准备原始深度图(已标定过人脸位置) 百度云盘:https://pan.baidu.com/s/1Hi85o521oIGaAfDoavOXeA使用MATLAB进行数据采集与处理:1、运行dataGet_MATLAB/position_process.m,进行深度图片的人脸位置的快速批量标定,鼠标框出人脸位置,自动生成同名包含位置信息的txt文件。(百度...
2018-11-19 20:57:19
3158
3
原创 C++ 时间类型及相互转换详解 time_t与tm
时间常见的有两种存储方式:time_t :整数类型 用来存储从1970年到现在经过了多少秒tm :结构类型 把日期和时间以 C 结构的形式保存,tm 结构的定义如下:struct tm {int tm_sec; // 秒,正常范围从 0 到 59,但允许至 61int tm_min; // 分,范围从 0 到 59int tm_hour; // 小时,范围从 0 到 23i...
2018-10-25 11:18:28
11631
原创 C++ 近红外人脸定位与深度图人脸活体检测(.raw深度图像)
#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;dirent.h&gt;#include &lt;string.h&gt;#include &lt;time.h&gt;#include &lt;math.h&gt;#in
2018-10-22 11:35:07
5192
1
原创 matlab 深度图人脸活体检测(.raw深度图像)
RAW_PATH = '/home/zhoujie/liveness detection/zjraw/non-face/';PLANE_OR_NOT = 0.2; %根据标定位置的准确程度修改阈值ITER = 10000; %10000次结果基本已经稳定,不用修改file =dir([RAW_PATH ,'*.raw']);for num=1:length(file)f1 = fo...
2018-10-22 11:28:26
2608
3
原创 MATLAB 3D深度图快速人脸位置标定批处理
clcclearRAW_PATH = '/home/zhoujie/liveness detection/zjraw/non-face/';file =dir([RAW_PATH ,'*.raw']);for num=1:length(file)f1 = fopen([RAW_PATH,file(num).name], 'r');data0 = fread(f1, 'uint16')...
2018-10-22 11:03:10
1190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人