- 博客(234)
- 资源 (80)
- 收藏
- 关注

原创 python豆瓣代替pip安装python模块
python下使用pip freeze -> requirements.txt命令迁移模块功能介绍:将自己电脑上已经安装的python的模块名和版本进行打包,方便移植。打开cmd运行:pip freeze -> requirements.txt 会生成requirements.txt文件打开cmd运行:pip install -r requirements.txt 将requir...
2019-09-27 09:26:34
813

原创 Python实现TXT、CSV、XLS等格式转换 and 图像显示(超详细教程)
数据处理整理用到的模块from __future__ import divisionimport shutilimport pandas as pd #Pandas使用一个二维的数据结构DataFrame来表示表格式的数据,相比较于Numpy,Pandas可以存储混合的数据结构,同时使用NaN来表示缺失的数据import matplotlib #绘制曲线图import ...
2019-05-04 09:06:22
1249
1
转载 Ubuntu下Python与C/C++混合编程(详细教程)
说明:测试环境为ubuntu18.04,使用语言Python3,C++. 由于python中无法定义(short)类型,或者(int)类型,所以使用Python调用C++的方法,在C++中计算,然后用Python调用.C++调用PythonPython模块代码:#!/usr/bin/python#Filename:TestModule.pydef Hello(s): print "Hello World" print sdef Add(a, b): print 'a='
2020-12-18 09:23:00
130
转载 Python中的按位取反
说明: 以下内容摘自:大佬博客地址。对定义进行了介绍,并举例例子进行了说明。按位取反运算符,用来对一个二进制数按位取反,即将0变1,将1变0,按理说十进制的5(0000 0101)按位取反应该为(1111 1010)十进制250,但是在Python中运算结果并非如此,结果如下:>>> ~-65计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。在计算机系统中,数值一律用
2020-12-05 20:55:55
224
原创 点云bin格式和pcd格式相互转化
使用python-pcl, 也就是python版本的pcl库(C++版本的这里暂时不做说明)参考python-pcl文件中的cluster_extraction.py文件中已经添加啦备注, 可作为参考.# -*- coding: utf-8 -*-# Euclidean Cluster Extraction# http://pointclouds.org/documentation/tutorials/cluster_extraction.php#cluster-extractionimport
2020-12-04 22:30:39
295
2
转载 Python之Event事件(简单教程)
摘要: 同进程的一样,线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其 他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就会变得非常棘手。为了解决这些问题,我们需要使用threading库中的Event对象。 对象包含一个可由线程设置的信号标志,它允许线程等待某些事件的发生。在 初始情况下,Event对象中的信号标志被设置为假。如果有线程等待一个Event对象, 而这个Event对象的标志为假,那么这个线程将会被一直阻塞直至该标志为真。一个线程如果将一个Even
2020-10-30 23:26:52
456
原创 基于Python获取局部点云平面的上位机软件
软件测试平台:win7、python3.6、pyqt5、pyqtgraph需求:已有一帧完整点云,需要提取点云中的平面(比如提取点云文件中尺寸为10x1x3m的平面)。操作步骤:(1)点击Open按钮,选择格式为xxx.bin的点云文件。(2)在STRIDES文本框中输入移动的步长。(3)分别点击X_MAX、X_MIN、Y_MAX、Y_MIN、Z_MAX、Z_MIN等按钮进行范围选取。打开点云效果图平面提取效果图提取的平面计算公式:X_MIN-STRIDES < 提取平面 <
2020-10-24 20:54:20
136
转载 python程序中用类变量代替global 定义全局变量(详细教程)
Python编程,在类的def函数之间进行参数传递,可以采用队列、全局变量、类变量等方法一般情况下,使用global 关键字来定义全局变量,但是发现 global 关键字在涉及多个文件时,好像存在问题。比如,单个文件下用global定义使用全局变量的情况 ,看下面的代码# -*-coding: utf-8 -*-#from data_def import *distance=34class test(object): def __init__(self): pass
2020-10-24 18:40:19
252
原创 基于Python的周立功CAN上位机(详细教程)
摘要: 目前关于CAN通讯报文解析使用的编程语言有很多,比如:Labviewer、C#、C语言等。但是很少有人用Python进行开发,使用Python进行开发该上位机可大大节省开发时间。本篇博客主要介绍一下基于Python的周立功CAN上位机。使用的CAN分析仪: 《创芯科技》的CAN分析仪,型号为USB_CAN-2A或者CANalyst-II。使用的下位机: STM32F407正点原子开发板使用的测试用上位机:《创芯科技》开发的上位机工具具备之后,我们正式开始用python进行测试开发。为
2020-10-12 13:04:23
1061
原创 点云显示工具(超详细教程)
用于显示3D点云的软件有很多,比如最常用的CAD。当然,还有一些常用的专业显示工具,比如CloudCompareStereo、MeshLab、Geomagic Foundation 2015等。CloudCompareStereo可以打开的点云格式为:MeshLab可以打开的点云格式为:除了上面描述的常用专业显示软件,我们也可以使用velodyne、robosense(速腾聚创)附带的上位机软件进行显示,这些工业软件支持显示的格式挺多的,如果只是简单的显示,上述这些工具完全可以满足需要。当然,
2020-10-07 17:59:59
627
转载 Python中的log文件(详细教程)
1.写在前面2.代码1:在控制台输出log日志3.代码2:在文件中写入log日志4. 代码3:在控制台和文件中分别输出log日志写在前面log日志一般使用是很方便的,一般使用第二种即可。详细理解建议仔细阅读第三种写法。log日志的主要作用有以下两点:1、错误排查与分析2、log日志分析,便于编程人员快速了解程序。代码1:在控制台输出log日志import logginglogging.basicConfig(level=logging.WARNING, .
2020-10-07 17:02:10
659
原创 python中的补码
python中的补码写在前面:使用python的PYQT5模块进行制作上位机,根据传感器的通讯协议对报文进行解析,里面用到补码。如果是在下位机(STM32F407)中,因为使用的编程语言为C语言,所以直接定义变量类型为int即可直接求出补码,但是Python中稍微有些不同,请看下面的例子。例子以-3为例:源码:b’1000 0011’反码:b’1111 1100’补码:b’1111 1101’1、在python中 bin(-3)结果为'-0b11'所以我们需要bin(-3 &
2020-10-07 16:28:49
317
原创 markdown数学公式(常用版介绍)
markdown数学公式(常用版介绍)行内$$ f(x)=x $$f(x)=x f(x)=x f(x)=x段落$$s=\sum_1^n{n_i}$$s=∑1nnis=\sum_1^n{n_i}s=1∑nni上标$$ x^2 $$x2 x^2 x2下标$$ x_i $$xi x_i xi括号小括号与方括号直接输入就行,例如:小括号(1234)方括号[1234]大括号大括号已经有特殊的含义了,公式中的大括号需要用代码表示$$ \lbrace a+x \
2020-10-07 10:05:10
109
1
原创 SA-SSD训练过程出现nan
Pytorch训练过程出现nan使用SA-SSD算法,训练velodyne-16线点云数据,但是训练过程中损失值loss=nan,困扰良久…经过搜集资料发现Pytorch训练过程出现nan的情况为以下几种:1、学习率太大,但是样本数据集又很小。2、自定义的loss除以了一个很小的数字,小到接近0。3、数据不干净,数据本身就有nan,可以用numpy.isnan检查。4、target,即label是大于等于0的。从1到类别数目-1变化。既然找到了解决可能出现问题的地方,接下来就是逐个排查问题了。
2020-09-07 14:03:52
140
转载 Python-Tkinter图形化界面设计(详细教程 )
Python 图形化界面设计文章参考:https://www.jianshu.com/p/91844c5bca781、图形化界面设计的基本理解当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI),即通过鼠标对菜单、按钮等图形化元素触发指令,并从标签、对话框等图型化显示容器中获取人机对话信息。Python自带了tkinter 模块,实质上...
2020-09-07 10:36:36
31678
17
原创 深度学习算法评价标准AP bbox bev 3d
深度学习算法的检测指标深度学习算法测试的数据集一般采用公开的数据集进行训练和测试,比如常用的KITTI数据集。深度学习算法的检测指标通常由bbox、bev、3d、aos四个检测指标上述四个检测指标的含义:bbox:2D检测框的准确率bev:BEV视图下检测框的准确率3d:3D检测框的准确率aos:检测目标旋转角度的准确率这篇博客介绍了SA-SSD算法的3D框指标计算的代码上面图中给出car AP @0.7 0.7 0.7 和car AP @0.7 0.5 0.5。car AP @0.7
2020-09-07 10:23:08
399
原创 科研神器(高效开发工具)
更新时间:202008231、期刊影响因子在线查询https://sci.justscience.cn/index.html?q=&sci=02、EI检索入口-查阅论文是否被EI收录(可查阅检索号)https://www.engineeringvillage.com/search/quick.url3、SCI-HUB可用于下载国外的一些期刊论文(免费)https://sci-hub.tw/4、校外登陆知网、万方等数据库的VPN(需要账号)http://wvpn.haust
2020-08-30 10:36:40
230
1
转载 ubuntu远程桌面连接windows系统
ubuntu端:sudo apt-get install rdesktopwindows端:需要允许此windows远程访问。我的windows是windows xp,基本操作:计算机—属性—远程设置—远程,勾选:允许远程连接到此计算机。去掉默认勾选:仅允许运行使用网络级别验证…,(如果不取消这个,在运行时会出现“ERROR: recv: 连接被对端重置”)。连接ubuntu启动,仅需要一条命令:rdesktop -f -a 16 10.0.0.129#退出全屏ctrl+alt+E
2020-08-02 19:25:11
159
转载 NumPy 文件存取 tofile,fromfile, load,save
文章目录一,tofile()和fromfile()二.save()和load()三.savetxt()和loadtxt()四.文件对象file转载NumPy提供了多种存取数组内容的文件操作函数。保存数组数据的文件可以是二进制格式或者文本格式。二进制格式的文件又分为NumPy专用的格式化二进制类型和无格式类型。一,tofile()和fromfile()tofile()将数组中的数据以二进制格式写进文件tofile()输出的数据不保存数组形状和元素类型等信息fromfile()函数读回数据时需要..
2020-08-02 14:01:48
138
转载 ubuntu开机自动打开终端并执行程序
Ctrl+Alt+T打开命令行,输入 gedit ~/.bashrc (或者用vi等打开也可以),打开 .bashrc文件后如下图所示:在.bashrc文件里面添加自己执行程序的命令。如果有sudo命令需要运行,则使用echo 输入密码。比如:echo “password” | sudo -S chmod 777 ttyUSB0这句话把password换成自己的密码就可以开机自动给 ttyUSB0 串口赋予权限。其他类似cd、source等命令按照在终端中的使用方法即可。如果需要在新的终
2020-07-29 12:19:07
320
转载 ROS 中 rosbag 相关命令介绍
rosbag既可以指命令行中数据包相关命令,也可以指 c++/pythond的 rosbag 库。这里的 rosbag 是指前者。rosbag 主要用于记录、回放、分析 rostopic 中的数据。它可以将指定 rostopic 中的数据记录到.bag后缀的数据包中,便于对其中的数据进行离线分析和处理。对于 subscribe 某个 topic 的节点来说,它无法区分这个 topic 中的数据到底是实时获取的数据还是从 rosbag 中回放的数据。这就有助于我们基于离线数据快速重现曾经的实际场景,进行可
2020-07-29 11:05:24
478
转载 ROS通过话题发布订阅Image类型的视频帧(python)
前言:本文中,主要是关于OpenCV格式图片(或视频帧)和ROS数据格式图片(或视频帧)之间的转换。或者直白点书,通过ROS发送图片(Image)数据类型的消息(message)。本文其实是为下一篇博文“YOLO在ROS下的使用”打下基础。1、使用环境和平台ubuntu 18.04+ python2.7+opencv3注意:使用python3的话提示报错,还是用python2吧2、示例代码其实,下述代码完全可以在一个脚本中完成,而且不需要结合ROS;本文为了讲述通过ROS发送Image的方法
2020-07-24 10:33:56
128
原创 TX2使用pyserial建立串口通讯
TX2使用pyserial建立串口通讯平台:ubuntu18.04、TX2、Python3.6写在前面:目前经过测试TX2上是带有串口通讯驱动的,我们只需要设置一下即可。本次主要讲解如何使用USB转RS232的串口通讯。由于USB转RS232可使用不同的芯片,自然包含各种各样的驱动,目前主流大概有3种:CH340、FT232、PL2303经过测试,TX2板子上直接使用CH340是没有问题的。但是,使用FT232RL工业串口盒的时候,出现通讯问题(可能是我这块TX2板子自身问题)下面步入正题,先说
2020-07-22 18:31:01
167
原创 ROS远程控制(PC机+TX2进行ROS远程通讯)
需求:TX2连接Lidar获取点云数据,由于TX2安装在机器人上,不能外接屏幕,内存ROM也很小,所以采用TX2与雷达建立通讯,然后建立TX2和PC机的ROS远程通讯(PC机和TX2都安装ubuntu18.04)PC机和TX2全部为系统为18.04,ROS版本全部为melodic下面开始部署两台机器TX2作为主机用于数据采集PC机作为从机用于数据监控1、首先主机、从机连到同一个wifi下使用ifconfig命令查看本机的局域网IP地址(主机、从机都需要看一下)???? 如果电脑连接的时有线网,
2020-07-11 15:32:23
429
转载 import上一级目录的模块(Python)
import上一级目录的模块(Python)python中,import module会去sys.path搜索,sys.path是个列表,并且我们可以动态修改。要import某个目录的module,我们sys.path.insert(0,somedir)来加入搜索路径,就可以import了。既然这样,要import上一级目录的module,可以sys.path.insert(0,parentdir)。不过这种写绝对路径的方式,如果文件放到其它地方,就不行了。所以用动态方法来获取上一级目录。imp
2020-07-01 10:56:10
532
原创 Ubuntu18.04 Cmake升級
Ubuntu18.04 Cmake升級1、卸載低版本先查看是否已經安裝cmakecmake --version如果安裝了,並且版本低,首先進行卸載sudo apt-get autoremove cmake如果出現下面錯誤提示,那說明你沒有卸載哦CMake Error: Could not find CMAKE_ROOT !!!CMake has most likely not been installed correctly.Modules directory not found in
2020-06-29 11:32:13
650
原创 常用坐标系简介(正在完善~)
坐标简介(有待完善)正则坐标:引入正则坐标主要还是为了处理约束问题的,也就是用直角坐标描述问题可能会有多余的自由度,比如一个粒子在一个圆环上运动,用直角坐标需要两个坐标,实际上只有角度一个坐标起作用。正则坐标和正则动量本质上还是应该从拉式量出发而不是哈密顿量出发,并不是所有的体系都可以用哈密顿量描述。首先引入拉氏量L=T-V,T是动能,V是势能,T和V只含某个广义坐标q和q对时间的一阶导数,然后一步步照着教材上正则动量,正则变换做就是了,这个该怎么做其实主要具体问题具体分析,主要还是靠经验。不过首先你
2020-06-18 09:24:43
290
原创 pytorch中tensorboard数据显示
pytorch 利用tensorboard显示loss,acc曲线等运行环境:python3.6.9pytorch1.13.1cuda10.0cudnn7.5.1tensorboard显示运行PointRCNN算法进行training,得出events.out.tfevents.1592297776.hkd-Precision-7920-Tower打开终端输入:tensorboard --logdir path/to/tensorboard_logs/会有输出:TensorBoard
2020-06-17 17:09:30
268
转载 深度学习 | 三个概念:Epoch, Batch, Iteration
Epoch, Batch, Iteration概念Epoch(时期):当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次>epoch。(也就是说,所有训练样本在神经网络中都 进行了一次正向传播 和一次反向传播 )再通俗一点,一个Epoch就是将所有训练样本训练一次的过程。然而,当一个Epoch的样本(也就是所有的训练样本)数量可能太过庞大(对于计算机而言),就需要把它分成多个小块,也就是就是分成多个Batch 来进行训练。**Batch(批 / 一批样本):将整个训练样
2020-06-17 15:21:00
274
原创 使用Python的statsmodels模块进行多元线性回归分析
运行环境: win7、python3.6实现功能: 对多个参数进行回归分析,得出回归方程,回归统计量P值等创建statsmodels_test.py将下面代码复制到该py文件from pandas import DataFrameimport statsmodels.api as sm#import statsmodels.regression.linear_model as smimport pandas as pd'''# 测试集Stock_Market = {'Year': [
2020-06-15 00:53:22
931
原创 Ubuntu系统设置开机自动运行程序
Ubuntu系统设置开机自动运行程序运行环境: ubuntu18.04、python3.6、tkinter**运行效果:**开机之后自动打开teminal并执行设定好的程序,进入系统后每次打开terminal都会执行一次设定的程序。程序功能:设置提醒,与键盘按键关联,按任意键进行退出该脚本程序。创建Python脚本:tkinter_time.py'''import time count = 0a = 30while (count <= a): count_now = a - c
2020-06-10 10:17:18
209
原创 Ubuntu18.04安装PCL(详细教程)
Ubuntu18.04安装PCLUbuntu18.04安装ROS的版本为ros-melodicUbuntu16.04安装ROS的版本为ros-kinetic下面介绍Ubuntu18.04下安装ros-melodic(跟着步骤,一步一步走)安装依赖sudo apt-get update sudo apt-get install git build-essential linux-libc-devsudo apt-get install cmake cmake-guisudo apt-get
2020-06-07 11:45:45
4782
7
原创 Ubuntu18.04 melodic 安装与下载ROS(超详细教程)
安装软件源包安装方法主要有两种:软件源安装和源码编译安装。软件源(Repository)为系统提供了一个庞大的应用程序仓库,只要通过简单的命令即可从仓库中找到需要安装的软件并完成下载安装。相反,源码编译安装相对来说比较复杂,需要手动解决软件的依赖关系。配置系统软件源Ubuntu系统允许restricted(不完全的自由软件)、universe(Ubuntu官方不提供支持与补丁,全靠社区支持)、multiverse(非自由软件,完全不提供支持和补丁)这三种软件源。sources.list是Ubunt.
2020-06-07 10:33:43
967
转载 PointRCNN 3D框点云和图像可视化
由于pointRCNN源码的训练和inference很详细,但是没有可视化的代码,本文介绍其3d框结果的可视化方法1. 跑通pointRCNNhttps://github.com/sshaoshuai/PointRCNNpointRCNN的运行本文就不赘述了。我是下载的作者训练好的模型,跑了一遍inference,因为生成的检测结果在下面可视化时会用到2. 将pointRCNN预测结果拷贝到KITTI数据集pointRCNN的结果存储在:(里面包含000001.txt等等,存的是3d框的预测结果
2020-06-03 12:11:22
787
7
原创 视频2图片video_to_images
本程序主要讲视频转化为图片创建video_to_images.py#-*- coding: utf-8 -*-#使用本程序的方法:#1. 安装python3#2. 安装numpy, 命令 pip3 install numpy#3. 安装opencv-python, 命令:pip3 install opencv-python#4. 将该脚本放置在存储视频的文件夹中,利用python执行此脚本。import osimport sysfiledir = os.path.dirname(sys
2020-06-02 20:36:30
183
原创 统计xml文件包含的标注信息 parse_dataset_annotation
YOLO算法,统计标注的xml文件中包含的标记框信息创建parse_dataset_annotation.pyimport osimport sysfiledir = os.path.dirname(sys.argv[0]) #获取脚本所在目录os.chdir(filedir) #将脚本所在的目录设置为工作目录wdir = os.getcwd()print('当前工作目录:{}\n'.format(wdir)) #打印当前工作目录from xml.dom.m
2020-06-02 20:34:53
138
原创 复制文件到一个文件夹并进行排序copy_imgs_to_dir
文件存储方式|--parentdir|----copy_imgs_to_dir.py|----Video0|--------xxx0.mp4|--------xxx1.mp4|----Video1|--------xxx0.mp4|--------xxx1.mp4|----Video2|--------xxx0.mp4|--------xxx1.mp4创建文件名为:copy_imgs_to_dir.pyimport os #专门用于文件处理import sys
2020-06-02 20:30:50
151
原创 修改文件名并进行排序rename
这篇程序主要是将文件名名称进行修改文件存取方式|--parentdir|----rename.py|----Video|--------xxx0.mp4|--------xxx1.mp4|--------xxx2.mp4|--------xxx3.mp4创建rename.pyimport os import sysfiledir = os.path.dirname(sys.argv[0]) #获取脚本所在目录os.chdir(filedir) #将
2020-06-02 20:25:52
127
转载 Ubuntu18.04 修改gcc/g++版本
1.查看gcc/g++现版本gcc --versiong++ --version或者是cd /usr/binll gcc*ll g++*2.更换版本比如现在要更改到6版本2.1安装要替换到的版本的gcc/g++sudo apt install gcc-6sudo apt install g++-62.2 删除原来的软链接 cd /usr/bin sudo rm gcc2.3 建立新的软链接sudo ln -s gcc-6 gcc# 查看现在的gcc版本gcc -
2020-06-01 08:52:44
216
Geomagic Studio 2015 (64 bit).rar
2020-10-07
ZlgCanDriver.zip
2020-10-12
marker_bag_test-master.zip
2020-11-12
setup_10.3.0.2001g.exe
2020-11-12
VeloView 3.5.0.rar
2020-10-07
BIN2PCD.zip
2020-07-27
(2019-07-19)RS-LiDAR-16用户手册v4.2.pdf
2020-07-26
Power_12V10AH.zip
2020-07-22
UDP_TCP_WEB_TESTTOOLS.zip
2020-07-22
Pyserial-Demo-master.zip
2020-07-22
上位机V18.0 pyqt V15.0扩展 20200102(测试版).zip
2020-06-19
train_planes.zip
2020-06-16
USBCAN(CANalyst-II)(20170630).zip
2020-06-16
cig_data.xlsx
2020-06-15
requirements.txt
2020-06-07
PointRCNN.pth
2020-06-03
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝