自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ljl6390221的博客

python笔记

  • 博客(30)
  • 收藏
  • 关注

原创 机器学习之梯度下降算法

梯度下降算法就是函数沿着梯度的方向下降的算法,这里有两个概念,第一是梯度,第二是倒数。1.首先什么是导数:相信学过高等数学的人都知道,什么是倒数,倒数也就是描述函数在这一点附近的变化率,也可以认为函数在某一点的倒数就是代表曲线在这一点的斜率。2.梯度:高等数学里面的梯度是一个向量,表示某一函数在该点处的方向倒数沿着该方向取的最大值,也就是该点沿着该方向变化最快,变化率最大。当函数为一维函数...

2019-07-04 17:05:29 642

原创 c++中vector的使用总结

vector是表示可变大小数组的序列容器。 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理 本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部...

2019-07-04 17:02:07 385

原创 pcl点云滤波代码分析及原理介绍(1)

点云滤波,顾名思义,就是滤掉噪声。原始采集的点云数据往往包含大量散列点、孤立点,在获取点云数据时,往往由于传感器本身精度的限制,获取的点云数据就不是很精确,往往有一些噪音点。不只是点云数据存在噪音点,传统相机也会存在噪音点。在处理点云过程中,预处理是处理的第一步,如果第一步处理不好对后期的处理影响是很大的。只有在预处理时将点云数据处理好,减少离群点,数据压缩等,才能进行更好配准,特征提取,曲面...

2019-07-04 17:00:51 2301

原创 pcl分割原理欧式距离分割以及代码分析

欧式距离分割基于欧式距离的分割和基于区域生长的分割本质上都是用区分邻里关系远近来完成的。由于点云数据提供了更高维度的数据,故有很多信息可以提取获得。欧几里得算法使用邻居之间距离作为判定标准,而区域生长算法则利用了法线,曲率,颜色等信息来判断点云是否应该聚成一类不管欧式距离分割还是其他分割,在电脑上进行实时处理都有点难度。下面是欧式距离分割的具体算法伪代码:在空间找一点p1,用kdT...

2019-07-04 16:59:40 2706 1

原创 PCL点云随机采样一致性分割算法

最近在学习点云的分割算法,目前了解到有两种分割算法,一种是聚类分割算法,一种是随机采样一致性算法,聚类算法上篇文章已经有所提及。今天分析下随机采样一致性算法,然后代码理解;RANSAC随机采样一致性算法介绍RANSAC是”RANdom SAmple Consensus(随机抽样一致)”的缩写,随机采样一致性算法是一种概率性的算法,有时为了提高有效数据的概率,需要增加迭代次数,数据一般分...

2019-07-04 16:58:54 2511 1

原创 PCL点云分割之最小分割算法

了解下最小分割算法,感觉对我的用处不是很大,我目前在了解关于移动无物体进行实时分割,最小分割算法是针对静态的物体进行的,并且设置的参数也比较多,还需要对分割的物体的中心点进行保存,如果中心点可以进行实时更新,硬件的处理能力够好的话也可以进行实时检测。参考论文的地址PCL官方教程:最小分割算法该算法是将一幅点云图像分割为两部分:前景点云(目标物体)和背景物体(剩余部分)如果要...

2019-07-04 16:58:00 1356

原创 linux中Makefile的使用

最近在写一个项目,由于项目的文件过多,所以就需要将文件进行类进行操作。这样会对代码的维护方便很多。这就需要对代码进行合理的整理,一个好的Makefile文件是很有帮助。由于学的不久,下面写的如果异议请指正。Makefile编写我将项目新建几个文件夹其中包括:include lib Src bin build 五个文件夹,其中include是将程序需要的头文件,lib是程序需要的库文件,sr...

2019-07-04 16:53:55 263

原创 将文件名(图片名)写入txt文件

最近在学习pointnet,需要将点云的pcd文件名写入txt文件,然后需要会读取txt文件里的pcd文件制作dhf5文件,还需要将lable写入txt文件。具体代码如下:#include <fstream> #include <iostream>#include <string>#include <boost/format.hpp>...

2019-07-04 16:52:50 1236

原创 为PointNet准备自己的数据

PointNet是一种新型的不依赖于输入顺序的深网体系结构,它能够直接处理无序点云数据,因此在几何处理领域有着广阔的应用前景。 目前,PointNet最流行的实现是基于以HDF 5为标准输入格式的TensorFlow框架。对于如何将点云转化为H5文件,这可能会让很多人很迷茫,不知道怎么处理。本文将直接告诉大家怎么制作H5文件,以提供给tensorflow模型。PTS Data我们可以从某...

2019-07-04 16:52:07 11488 17

原创 3D ToF 三维场景距离原理

1.生成深度图原理三维TOF相机通过主动发射调制过的光源到地面上,然后观察发射回来的对应光。发射和反射关之间的相位差通过运算和转换得到距离/景深。如图所示。一般来说主动发射光源是850nm波长的固态激光管或发光二极管LED,对人眼来说是不可见光。 一个特制 的成像传感器用来接受同样频谱的光线,并且转换光子能量到电子电流。需要注意,光线进入该传感器 有一个环境光分量和反射光分量。距离(景深)信息...

2019-07-04 16:51:02 2035

原创 git服务器的搭建- smart http协议(Apache网页版)和ssh协议两种方式进行搭建

git服务器搭建过程   A.首先要选择搭建git时的协议,在文档里有三种协议      1.本地协议:就是多人使用一台电脑,就是使用不同的账号登录同一台电脑,使用共享文件来同时进行操作,很危险。使用命令为:git clone /opt/git/project.git      2.HTTP 协议: http协议又分为两种 一种为智能(Smart) HTTP 协议 和 哑(D...

2019-01-06 16:54:43 1563 3

原创 tof 相机的数据读取,depth data和amplitude data以及3D数据

1.开发前提如果相机带有SDK 也就是开发需要的工具以及包,就要用相机带的开发包,里面包含了相应的读取文件的函数,以及设置的相机的相关函数。本文使用的是TTF相机,C++头文件代码如下:#include "../../include/TTF_API.h"#include &lt;unistd.h&gt;using namespace std;using namespace V...

2018-10-19 13:52:00 3254 1

原创 python 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

list1 = []num = int(input('请输入:'))for i in range(2,num): while True: if num%i == 0: list1.append(i) num = num / i else: breakprint(list1)...

2018-04-27 09:10:30 6459 1

原创 python 列表推导以及推到练习

列表推导式:列表推导式(list comprehension)是利用其它列表创建新列表的一种方式,工作原理类似for循环,即可对得到的元素进行转换变形 ,其基本格式如下(可以有多个for语句):[expr for value in collection ifcondition]集合推导式:集合推导式跟列表推导式非常相似,唯一区别在于用{}代替[]。其基本格式如下:{ expr for value ...

2018-04-19 11:58:03 2292

原创 python中关于水仙花数的程序

1. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。     例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位使用了两种方式:一种为for循环,另一种为列表推到for a in range(100,1000): x = a//100 y...

2018-04-17 10:23:31 4656 1

原创 pandas 空数据处理和数据过滤

1.pandas数据过滤import pandas as pdfrom pandas import DataFrame,Seriesimport numpy as npdict1 = {'age':[12,23,34,45], 'name':['小宁','小红','小兰','小花'], 'sex':['男','女','男','女']}df1 = pd....

2018-04-16 14:58:19 5548

原创 python 中实现9*9乘法表与1~100相加

i = 0sum = 0for i in range(1,101): sum = sum +iprint(sum)for i in range(1,10): for j in range(1,i+1): print('%d*%d = %d '%(i, j, i*j),end = '') print('')50501*1 = 1 2*1 =...

2018-04-16 11:52:20 1487

原创 python 比较三个数的最大值,不考虑相等的情况

x=int(input("请输入第一个数:"))y=int(input("请输入第二个数:"))z=int(input("请输入第三个数:"))if x&gt;y: if x&gt;z: print('x是最大值:%d'%x) else: print('z是最大值:%d'%z)elif x&gt;z: if x&gt;y: ...

2018-04-16 11:11:57 19602 1

原创 python 实现用户输入名和密码,输入名为joe密码为123456 如果输入错误,只能输入三次

for i in range(0,3): user = input('请输入用户名:') if user == 'joe': password = input('请输入密码:') if password == '123456': print('恭喜你进入账户',end = '') break ...

2018-04-16 11:10:23 22222

原创 python 求1到100之间的素数

list1 = []i = 2for i in range(2,101): j = 2 for j in range (2,i): if i%j == 0: break else: list1.append(i)print(list1)[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 3...

2018-04-16 09:44:40 37251 15

原创 python 100元去买鸡

100元去买鸡,公鸡5元,母鸡3元,小鸡三只1元,问用100元整买100只鸡,怎么去买第一种方法为for循环第二种方法为while循环for x in range(0,21): for y in range(0,34): z = 100 -x -y if z%3 == 0 and (5*x +3*y + z/3 == 100): pr...

2018-04-14 20:00:35 854

原创 python进行数据处理——pandas的数据基本操作

Python 数据分析包:pandas 基础pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包 ,pandas主要是围绕series和DataFrame进行操作。seriesseries可以看做为一个字典,其中包含index和data ,index可以为我们自己进行定义的。series主要定义一维数组。首先要导入pandas模块,基本定义方式如下:import panda...

2018-04-13 17:28:21 653 1

原创 python中列表的基本操作

1. 列表是由一系列按特定顺序排列的元素组成,列表能存储多种类型的数据,其中的元素之间可以没有任何关系例如:list1 = ['学生','hello','test',23]print(list1)['学生', 'hello', 'test', 23]2. 列表的基本操作a. 修改列表:修改列表元素的语法和访问列表元素的语法类似,指定列表名和要修改元素的索引,再指定新值list1 = ['学生'...

2018-04-12 13:55:24 1020

原创 python中字符串常用的函数

python中有很多对字符串操作的函数,以下对一些函数进行一些总结:1. find 函数:检测字符串是否包含指定字符,如果是返回开始的索引值,否则返回-1;如下l在第2个位置s1 = 'hello world'print(s1.find('l'))22. index函数:检测字符串是否包含指定字符,如果是返回开始的索引值,否则提示错误s1 = 'hello world'print(s1.in...

2018-04-12 11:09:28 371

原创 python中的标准化输出

Input输入:    它能够完成从键盘获取数据,然后蒋数据保存到变量中。input获取的数据都是以字符串的方式进行保存,即使输入的是数字也是以字符串的方式进行保存。常用的格式化输出方式整数的输出%o —— 八进制%d ——十进制%x ——十六进制浮点数输出%f ——保留小数点后六位,%0.3f保留小数点后三位%e ——保留小数点后面六位有效数字,指数形式输出,%.3e,保留3位小数位,使用科学计...

2018-04-12 09:57:15 7121

转载 numpy基本方法总结

原文地址:http://blog.163.com/jy_l/blog/static/253541138201662652832533/点击打开链接一、数组方法创建数组:arange()创建一维数组;array()创建一维或多维数组,其参数是类似于数组的对象,如列表等创建数组:np.zeros((2,3)),或者np.ones((2,3)),参数是一个元组分别表示行数和列数对应元素相乘,a * b,...

2018-04-11 14:34:13 154

原创 numpy中random的使用方法

random是内建(built-in)函数,作用是产生随机数下面为random的使用方法:1. 创建一个(0~1)的浮点数# 首先要导入包# 创建一个3*3的矩阵import numpy as nparr = np.random.random((3,3))print(arr)[[ 0.57881144 0.59327838 0.96211688] [ 0.62091924 0.8...

2018-04-11 14:24:53 625

原创 Sklearn-train_test_split随机划分训练集和测试集

1. sklearn.model_selection.train_test_split随机划分训练集和测试集一般使用方法为:from sklearn.model_selection import train_test_splitX_train, X_test, Y_train, Y_test = train_test_split(X_data, Y_data, test_size = 0.2,...

2018-04-11 13:51:06 311

原创 python中的join函数

函数:string.join()Python中有join()和os.path.join()两个函数,具体作用如下:    join():    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串    os.path.join():  将多个路径组合后返回 一、函数说明1、join()函数语法:  'sep'.join(seq)参数说...

2018-04-11 13:29:26 243

原创 pandas loc和iloc 以及ix的区别

1,首先是loc是根据行来进行切数据(1) index为行,columns为列,当行为字符串时:代码如下:import pandas as pdfrom pandas import DataFramedata = [[4,5,6],[7,8,9]]index = ['d', 'e']columns = ['a', 'b', 'c']df = DataFrame(data = data, ...

2018-04-11 10:16:37 381

空空如也

空空如也

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

TA关注的人

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