![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
惊鸿一博
毕业于中国科学院大学/中科院自动化研究所;专注于SLAM,三维重建,图像处理,视觉定位等;曾就职于鸿海集团,大陆集团,现在某自动驾驶独角兽企业;热爱分享,热爱生活;欢迎一起交流,学习,进步。
展开
-
python_时间戳对齐
python 有2个保存时间戳的list, listA 和 listB, 对于listA中的每一个时间戳元素cur_ts, 查找listB中 与cur_ts最接近的前后两个时间戳元素。原创 2024-06-28 22:30:00 · 356 阅读 · 0 评论 -
python_表格处理_pandas_pd.read_csv输入输出参数说明
函数用于从 CSV 文件中读取数据,并返回一个 DataFrame 对象。sep\theader0Nonenamesindex_colNoneskiprowsNoneskipfooter0nrowsNonedtypeFalseTruena_valuesNoneencodingNonedtypeNone以上只是部分常用的参数,还有更多的参数用于处理不同的情况。你可以查阅 Pandas 文档或者使用命令来查看完整的参数列表和详细说明。原创 2024-04-19 20:45:00 · 778 阅读 · 0 评论 -
python_绘图_多条折线图绘制_显示与隐藏
【代码】python_绘图_多条折线图绘制_显示与隐藏。原创 2024-04-01 22:15:00 · 742 阅读 · 0 评论 -
python_在图像上绘制(平均分配)指定数量的网格grid_代码/效果
给图像打网格,输入:指定网格大小,输出:带网格的图像。原创 2024-03-17 16:45:11 · 621 阅读 · 0 评论 -
python_可视化_交互_多条线段点击高亮显示
使用matplotlib 绘制折线图 响应鼠标事件 单击折线 线条高亮显示解决方法: 使用 mplcursors 库, 一句代码可实现.原创 2024-02-28 22:15:00 · 451 阅读 · 0 评论 -
深度学习_pytorch_深度学习中的tensor介绍及常用操作
目录1. pytorch中的数据类型1.1 标量——维度为0——用于loss1.2向量——维度为1——用于bias、线性输入数据1.3二维tensor1.4三维tensor1.5四维tensor1.6 其他引言:pytorch是面向计算的GPU加速库,所以里面的所有操作对象都是tensor(张量)。本文主要介绍pytorch中的数据类型,tensor的创建,索引与切片,维度变换、拼接与拆分、基本数学运算、属性统计等函数功能及示例。(参考:深度学习入门_哔哩哔哩_...原创 2021-11-15 11:09:37 · 2786 阅读 · 2 评论 -
深度学习_pytorch中的forward()的使用与解释
说明最近在使用pytorch的时候,模型训练时,不需要使用forward,只要在实例化一个对象中传入对应的参数就可以自动调用 forward 函数. (model(args-list) 等价于 model.forward(args-list))forward 的使用class Module(nn.Module): def __init__(self): super(Module, self).__init__() # ......转载 2021-11-04 14:23:59 · 6550 阅读 · 0 评论 -
python_文件读写_反转文件中的行
简要说明功能:反转文件中的行输入:一个文件.txt1.png2.png3.png输出:一个文件.txt3.png2.png1.png代码示例import osimport sysdef revese_lines_in_file(input_file_name, output_file_name): input_file = open(input_file_name, 'r') output_file = open(output_fi原创 2021-09-22 10:26:37 · 444 阅读 · 0 评论 -
python_文件读写_提取kitti数据集中带时间戳的IMU测量数据
功能说明:根据时间戳文件timestamps.txt, 每一个时间戳下对应的一个GPS/IMU测量数据, 提取出IMU的陀螺仪三个轴的测量值(wx,wy,wz), 和加速度计的三个测量值(ax,ay,z), 生成指定格式的kitti_imu_data.csv文件, 为VIO提供有时间戳的IMU测量数据输入:时间戳文件1个(45700条记录) timestamps.txt IMU测量数据45700个(每个文件1条记录) 0000000000.txt-0000045699.txt输出:kit原创 2021-04-15 17:42:44 · 1545 阅读 · 5 评论 -
SSIM(结构相似性)-数学公式及python实现
SSIM是一种衡量两幅图片相似度的指标。出处来自于2004年的一篇TIP,标题为:Image Quality Assessment: From Error Visibility to Structural Similarity地址为:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1284395与PSNR一样,SSIM也经常用作图像质量的评价。先了解SSIM的输入SSIM的输入就是两张图像,我们要得到其相似性的两张图像转载 2021-01-20 11:06:13 · 1881 阅读 · 0 评论 -
python_图像去畸变/图像矫正
说明:输入:畸变图像 输出: 去畸变图像代码:import numpy as npfrom cv2 import cv2 as cvimg_rgb = "1.jpg"R = np.eye(3)img_size = (1920, 1080)camera_matrix = np.array( [788.82312, 0, 987.54279, 0, 787.83112, 577.85284, 0, 0, 1, ]).reshape([3, 3])distortion_coeffic原创 2021-01-13 17:52:44 · 8292 阅读 · 2 评论 -
python_统计数组中指定范围的数据占的比例
说明:输入: 两个np.array数组 如数组[1,2,3,4,5,6,7,8,9,10], 在小于[1,2,8]中各个数值的占比如下 [('data<1', '0.0'), ('data<2', '0.1'), ('data<8', '0.7')] 输出: 数组中指定分段间的比例值代码import sysimport numpy as npdef statistic_arr(myarr, bins): """ print the data.原创 2021-01-05 19:19:39 · 5605 阅读 · 0 评论 -
随手记_vscode怎样加命令行参数进行调试(python)
vscode怎样加命令行参数进行调试1 点击vscode中的三角形,调试按钮; 2 在调试工具窗口点设置图标,“打开launch.json”; 3 在launch.json文件中的 configrations 项中添加 “args” 命令行参数,如下图所示。 (远程服务器调试同样适用,此时launch.json新建在远程服务器端的项目文件下)...原创 2020-10-11 20:39:57 · 6866 阅读 · 2 评论 -
python_四元数/旋转矩阵/欧拉角之间的相互变换(简单易用版)
都在代码里.import numpy as npimport mathfrom scipy.spatial.transform import Rotation as RRq=[-0.71934025092983234, 1.876085535681999e-06, 3.274841213980097e-08, 0.69465790385533299]# 四元数到旋转矩阵r = R.from_quat(Rq)Rm = r.as_matrix()# 0:array([ 1.000000原创 2020-12-25 19:43:46 · 16844 阅读 · 10 评论 -
python_激光点云变换到图像平面
输入pcd文件路径激光到相机的变换矩阵Tr(4x4)输出相机坐标系下的点云图像代码def lidar2CameraImage(file_path, Tr): pcd = o3d.io.read_point_cloud(file_path) points = np.asarray(pcd.points) #such as (10, 3) R = Tr[0:3,0:3] #(3,3) t = Tr[0:3,3].reshape原创 2020-12-25 08:37:22 · 1362 阅读 · 4 评论 -
python_四元数q转旋转矩阵R(已验证)
方法1使用公式:https://doc.rc-visard.com/latest/de/pose_formats.html?highlight=format方法2使用库scipy中的方法from scipy.spatial.transform import Rotation as RRq=[-0.35, 1.23e-06, 4.18e-08, 0.39]Rm = R.from_quat(Rq)rotation_matrix = Rm.as_matrix()print...原创 2020-12-24 20:35:48 · 7481 阅读 · 8 评论 -
python_numpy_求L1损失的两种方法
#方法1: 手动求(目标值: target, 预测值:pred) tmask = target > 0 #统计depth图中非0元素个数 tmp_depth = target.copy() tmp_depth[tmp_depth != 0 ] = 1 tmp_depth[tmp_depth == 0] = 0 num = tmp_depth.sum() difma.原创 2020-12-21 21:16:26 · 1280 阅读 · 0 评论 -
python_numpy_中的matrix与array的区别
Numpy matrices必须是2维的,但是numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND).Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。在numpy中matrix的主要优势是:相对简单的乘法运算符号。例如,a和b是两个matrices,那么a*b,就是矩阵积。而不用np.dot()。如:import numpy as npa=np.mat('4 3; 2 1')b=np.mat.转载 2020-12-16 20:23:55 · 226 阅读 · 0 评论 -
python_numpy_矩阵乘法multiply()、dot()、 matmul()、 * 、 @ 辨析
分类:元素相乘:multply()矩阵相乘:dot()、matmul()、’@’’ * ': 是特别的。在数组操作中(如np.array(...)),作为元素相乘;在矩阵操作中作为矩阵相乘。以下举例说明:import numpy as np在数组上操作的效果:>>> a1 = np.array([[1,2,3],[4,5,6]])>>> b1 = np.array([1,2,3])>>> a2 = np.array([1转载 2020-12-16 20:18:20 · 675 阅读 · 0 评论 -
Python Numpy中reshape函数参数-1的含义
新数组的shape属性应该要与原来数组的一致,即新数组元素数量与原数组元素数量要相等。一个参数为-1时,那么reshape函数会根据另一个参数的维度计算出数组的另外一个shape属性值。下面来举几个例子来理解一下:>>> z = np.array([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12],[13, 14, 15, 16]])>>> print(z)[[ 1 2 3 4] [ 5 6 7 8] [转载 2020-12-10 11:25:20 · 1456 阅读 · 0 评论 -
python-numpy.array中,any()和all()方法介绍
本文主要介绍numpy.array.any()和numpy.array.all()的用法和区别。1.np.array.any()和numpy.array.all()np.array.any()是或操作,任意一个元素为True,输出为True。np.array.all()是与操作,所有元素为True,输出为True。import numpy as nparr1 = np.array([0,1,2,3])print(arr1.any()) # Trueprint(arr1.all())转载 2020-12-09 18:14:17 · 4596 阅读 · 0 评论 -
Python函数参数的值传递机制
目录1 Python函数参数的值传递机制2 Python函数参数的引用传递3 两个结论Python中,函数参数由实参传递给形参的过程,是由参数传递机制来控制的。通过学习《Python函数值传递和引用传递》一节我们知道,根据实际参数的类型不同,函数参数的传递方式分为值传递和引用传递(又称为地址传递),本节将对这两种传递机制做深度剖析。1 Python函数参数的值传递机制所谓值传递,实际上就是将实际参数值的副本(复制品)传入函数,而参数本身不会受到任何影响。值传递的方式,类似于《西游转载 2020-12-09 09:43:55 · 836 阅读 · 0 评论 -
ubuntu设置python3.7为默认(python版本切换)
方法使用update-alternatives 为不同版本python设置优先级.sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150sudoupdate-alternatives--config python操作首先我们..原创 2020-12-01 13:16:41 · 3487 阅读 · 1 评论 -
python c++ socket 通信一个示例
1 作用说明客户端: 连续发送n个字符串消息 ("client_msg_n"), 服务端: 处理客户端消息, 返回对应的字符串信息("client_msg_n<<handled")2 代码2.1 客户端client ( c++ boost::asio)main.cpp#include <iostream>#include <boost/asio.hpp>using namespace std;//clientint main(int ar原创 2020-11-21 10:33:59 · 1024 阅读 · 0 评论 -
如何保存浮点型数值的图像? (Python的/ PIL)
需求我有一个要保存浮点数的ndarray.我想将值保存为浮点型.我发现接受保存浮点数据的唯一格式是tiff.但是不显示实际图像.from Image import *from numpy import *img = random.random((300, 300)) #float numbers, i have actual data in my image thoughimg = fromarray(img)img.save('test.tiff')解决方法:您的示例正在保存一转载 2020-10-30 19:11:06 · 5522 阅读 · 3 评论 -
对anaconda虚拟环境进行迁移
对anaconda虚拟环境进行迁移利用anaconda进行python环境管理是一件很方便的事,但是如果手头有很多台服务器,在一台上配了一个conda环境,之后想要在其他服务器上也如法炮制几个一样的环境,一个包一个包的安装,想想都觉得要累死。。。(我之前就是这么搞了五六台,心累啊心累)。那么,有没有更好的办法呢?其实,anaconda在创建环境的时候,是可以有一个clone参数的,利用这个参数,就可以完成一台机器的环境到另一台机器的迁移。具体做法:将另一台机器的环境打包发到这台机器上,比如说,我们原创 2020-10-23 15:35:19 · 2511 阅读 · 1 评论