python
半只因
这个作者很懒,什么都没留下…
展开
-
python 多进程 pool queue
python处理cpu密集型任务时,用多线程会好点from multiprocessing import Pool, Managerimport os, time, randomn = 100def write(q): print('Process to write: {}'.format(os.getpid())) time.sleep(random.random()) q.put(0) print('{}/{}'.format(q.qsize(), n))原创 2021-04-16 15:16:45 · 288 阅读 · 0 评论 -
python 去除点云中的nan点,transform点云
import yamlimport timeimport pclfrom tqdm import tqdmdef filter_nan(pcd_path): cloud = pcl.load_XYZI(pcd_path) pt = cloud.to_array()[:, :4] #### filter NAN points t=[] for n in range(0, len(pt)): x = pt[n][0] y = p原创 2021-01-25 15:30:54 · 953 阅读 · 0 评论 -
python 深浅拷贝
import copya = [1, 2, 3, 4, ['a', 'b']] #原始对象b = a #赋值,传对象的引用c = copy.copy(a) #对象拷贝,浅拷贝d = copy.deepcopy(a) #对象拷贝,深拷贝a.append(5) #修改对象aa[4].append('c') #修改对象a中的['a', 'b']数组对象print ('a ={}'.format(a))print ('b ={}'.format(b))print ('c ={转载 2020-12-14 21:04:00 · 124 阅读 · 0 评论 -
python 安装pclpy库
apollo@in_dev_docker:/apollo$ conda create -n pcl python=3.6.5apollo@in_dev_docker:/apollo$ conda install -c conda-forge -c davidcaron pclpyapollo@in_dev_docker:/apollo$ conda activate pcl(pcl_) apollo@in_dev_docker:/apollo$ pythonPython 3.6.5 |Anacond原创 2020-12-14 17:57:50 · 1488 阅读 · 0 评论 -
python 利用numpy更快的显示图片
Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,所以,其效率远高于纯Python代码import cv2import timeimport osimport numpy as npdef read_img_and_show(file_path): start = time.clock() img = cv2.imread(file_path) cv2.imshow('img', img) elaps原创 2020-11-18 17:03:38 · 1110 阅读 · 0 评论 -
python 线程, 键盘监听, 图上str 例子
# pip install pynput# -*- coding: utf-8 -*-import threadingfrom pynput.keyboard import Key,Listenerimport cv2def on_press(key): global press_key global img try: print(key.char) press_key = key.char except Attribu原创 2020-11-18 13:42:19 · 697 阅读 · 0 评论 -
python 监控电脑的IP变化
run.sh#!/bin/bashdevice_name="eno1"/sbin/ifconfig $device_name |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " " > /home/moonx/watch_ip_change/new_ip.txtcd /home/moonx/watch_ip_change/; python3 send_ip.py/sbin/ifconfig $device_name |grep "inet ad原创 2020-08-14 20:06:06 · 497 阅读 · 0 评论 -
python 相机内参标定
抄这位大哥的 python+opencv相机标定, 他的 第10行 objp[:, :2] = np.mgrid[0:9, 0:6].T.reshape(-1, 2), 6和9写反了好像。import cv2import numpy as npimport glob# 棋盘格角点数h, w = 7, 5# 设置寻找亚像素角点的参数,采用的停止准则是最大循环次数30和最大误差容限0.001criteria = (cv2.TERM_CRITERIA_MAX_ITER | cv2.TERM_CRI原创 2020-06-09 15:14:50 · 2801 阅读 · 7 评论 -
python 把yaml格式的外参 转为 变换矩阵
#coding=utf-8import numpy as npimport yamlfrom transforms3d.affines import composefrom transforms3d.quaternions import quat2matfrom pyquaternion import Quaterniondef load_yaml_file(file_path):...原创 2020-04-30 14:56:09 · 829 阅读 · 2 评论 -
python 读写pcd
1. 读点云的3种方式#第一种# pip install python-pclimport pcl pcd_ndarray = pcl.load_XYZI(args.pcd_path).to_array()[:, :4]point_num = pcd_ndarray.shape[0] # shape属性可以获取矩阵的形状(例如二维数组的行列),获取的结果是一个元组#第二种def ...原创 2020-04-25 14:29:55 · 6925 阅读 · 4 评论 -
python Numpy基础
1. 基础Numpy的主要对象是齐次多维数组, 在Numpy中dimensions(维度)称为axes(轴), axis的复数array.ndim数组的轴数(维度,秩)。array.shape数组的尺寸。这是一个整数元组,指示每个维度中数组的大小。对于具有n行和m列的矩阵,shape将为(n,m)。因此这个整数元组的长度 为轴数ndim。array.size数组元素的总数...原创 2020-04-22 16:43:32 · 609 阅读 · 0 评论 -
python 匹配linux时间戳
白嫖璜老板系列import argparseimport osfrom tqdm import tqdmparser = argparse.ArgumentParser()parser.add_argument("--left_pcd_dir", type=str, default="pandar40L")parser.add_argument("--right_pcd_dir", ...原创 2020-04-20 22:04:27 · 383 阅读 · 0 评论 -
python 手动标定lidar到lidar
import argparseimport jsonimport osimport mathimport numpy as npimport yamlfrom transforms3d.quaternions import quat2matfrom transforms3d.affines import composefrom tqdm import tqdm#########...原创 2020-04-13 00:01:42 · 418 阅读 · 0 评论 -
python 备忘 numpy相关
1. python中矩阵合并、拼接、组合>>> a = np.array([1, 2, 3])>>> b = np.array([2, 3, 4])>>> np.stack((a, b))array([[1, 2, 3], [2, 3, 4]])>>>>>> np.stack((...原创 2020-03-09 18:40:17 · 216 阅读 · 0 评论 -
Python 获取图片上点的坐标
import cv2import syspts_2d = []def onmouse(event, x, y, flags, param): event == cv2.EVENT_LBUTTONDOWN: pts_2d.append((x, y)) cv2.circle(img, (x, y), 3, (0, 255, 0), -1)# # # # # # #...原创 2020-02-23 21:45:28 · 7980 阅读 · 1 评论 -
python 把xml中某一种object删掉
xml 示例import osimport xml.etree.ElementTree as ETimport tqdmdef del_delete_eq_1(xml_path): #从xml文件中读取,使用getroot()获取根节点,得到的是一个Element对象 tree = ET.parse(xml_path) root = tree.getroot()...原创 2020-02-18 01:45:47 · 2170 阅读 · 0 评论 -
python 用compose把json中的translation和rotation转换成{T,R}
import astfrom transforms3d.affines import composefrom transforms3d.quaternions import quat2matmatched_pcd_pose_file = "matched_pcd_pose.txt"matched_pcd_pose_list = []with open(matched_pcd_pose...原创 2020-02-14 17:04:10 · 393 阅读 · 0 评论 -
Python 统计多个excel中某个label对应的值(没有区分sheet功能)
###environment###### $ pip install xlrd### $ pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simpleimport pandas as pdimport osdef read_excel_function(execl_path, name_1, name_2): d...原创 2020-01-14 14:14:05 · 279 阅读 · 0 评论 -
Python “合并字典”
def count_dicts(dict1, dict2): differ = set(dict1) ^ set(dict2) same = set(dict1) & set(dict2) # print(same) # print(differ) for key in same: dict1[key] += dict2...原创 2020-01-13 15:07:04 · 130 阅读 · 0 评论 -
python 备忘
讲列表按行写入file的一种格式def pose_write_to_file(List, file_name): with open(file_name, 'w') as f: for r in List: f.write('{} {} {}\n'.format(r[0], r[1], r[2]))...原创 2019-12-31 11:49:47 · 298 阅读 · 0 评论 -
python 四元数转欧拉角
# -*- coding=utf-8 -*-import mathimport numpy as np# 欧拉角转四元数while(1): which_mode = input("欧拉角转四元数输入1,四元数转欧拉角输入2。\n请输入:") if(which_mode == 1): print("\n源坐标系到目标坐标系旋转顺序为X,Y,Z,左手系.")...原创 2019-09-03 11:08:25 · 10765 阅读 · 4 评论 -
python 已知 Camera 到Lidar1外参 与 Lidar2到Lidar1外参,求Camera到Lidar2外参
Camra到Lidar1外参:camera_short_extrinsics.yamlheader: seq: 0 stamp: 0.000000000 frame_id: velodyne32_2child_frame_id: camera_shorttransform: translation: x: 0.2686889257903541 y: -0....原创 2019-07-30 17:01:31 · 339 阅读 · 0 评论 -
python 在指定位置显示图片并调整窗口大小(或图片大小)
接着shell 匹配时间戳写的# -*- coding: utf-8 -*- import cv2 as cvimport timeimport sysradar_list=[]lidar_matched_list=[]vision_matched_list=[]radar_num=0with open("/apollo/data/xuehui_test/jpg_003_l...原创 2019-07-29 16:57:52 · 15230 阅读 · 0 评论 -
pyhton 图片去畸变
import osimport sysimport xml.dom.minidomimport cv2import shutilimport numpy as npImgPath = input("Please enter the path where the JPG is located: ") + '/'Savepath = '/home/moonx/Desktop/undi...原创 2019-07-17 14:29:19 · 3561 阅读 · 4 评论 -
python 图片合成视频
import cv2import osim_dir = '/home/moonx/apollo/data/lidar_on_image/'video_dir = '/home/moonx/apollo/data/test.avi'im_list = os.listdir(im_dir)im_list=sorted(im_list) #最好再看看图片顺序对不fps = 10...原创 2019-07-17 14:21:41 · 1076 阅读 · 0 评论