未分类
文章平均质量分 60
未分类文章。
jingbo1801
机器视觉、图像,TX2,python,c++
展开
-
python实现多个pdf文件合并
打印发票时,需要将pdf合并成一个,单页两张打印。网上一些pdf合并逐渐收费,这玩意儿都能收费?自己写一个脚本使用。输入pdf文件夹路径data_dir,统计目录下的“合并后的PDF”文件夹下,输出合并后的pdf文件。原创 2024-09-17 08:15:00 · 502 阅读 · 0 评论 -
C++ GDl+ 多张图片合并生成GIF动画格式图片
使用ImageMagick多张图合成GIF。原创 2024-08-08 20:59:47 · 847 阅读 · 0 评论 -
python-docx-template实现docx模板编程
python-docx库来创建word文档,但是对于文档的修改功能并不灵活。python-docx-template 模块主要依赖两个库, python-docx用于读取,编写和创建子文档 , jinja2用于管理插入到模板docx中的标签。其基本思路是利用jinja2制作Word模板,并动态向模板中插入文字、图片、表格等内容。1)2)3)原创 2024-08-08 20:53:57 · 590 阅读 · 0 评论 -
MQTT服务搭建及python使用示例
MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的通信协议,通常用于物联网设备之间的通讯。它具有低带宽、低功耗和开放性等特点,适合在网络带宽有限或者网络连接不稳定的环境下使用。MQTT协议使用TCP/IP协议栈进行通讯,支持多种编程语言和平台,并且能够提供可靠的消息传递机制。在MQTT中,设备可以发布消息到特定的主题(topic),同时其他设备可以订阅这些主题以接收相应的消息。这种发布/订阅模式使得设备之间的通讯更加灵活和高效。原创 2024-05-08 22:11:00 · 4497 阅读 · 0 评论 -
linux设置程序在开机时自启动
对于某些没有使用systemd的Linux发行版,可以在/etc/rc.local文件中添加自启动命令。请确保该文件具有可执行权限。对于使用systemd作为初始化系统的Linux发行版(如:CentOS 7、Ubuntu 16.04及更高版本等),可以通过创建一个systemd服务来实现自启动。首先,打开当前用户的crontab配置文件:crontab -e。可以使用cron的@reboot事件来在系统启动时运行程序。下次系统启动时,指定的程序将自动运行。然后,重启系统以使更改生效。原创 2024-04-15 22:57:36 · 2259 阅读 · 0 评论 -
数字PID算法基础
PID控制器在只有比例环节时,存在转速波动和稳态误差。通过增加积分环节可以消除稳态误差,通过微分环节消除转速调节的波动问题。因此,在PID三个环节的共同努力下,就可以实现如下理想的转速调节曲线。原创 2023-12-30 15:02:51 · 940 阅读 · 0 评论 -
制作自己的 Docker 容器
我们可以把这个命令写在 Dockerfile 里面,这样容器启动以后,这个命令就已经执行了,不用再手动输入了。注意,指定了CMD命令以后,docker container run命令就不能附加命令了(比如前面的/bin/bash),否则它会覆盖CMD命令。FROM node:8.4:该 image 文件继承官方的 node image,冒号表示标签,这里标签是8.4,即8.4版本的 node。首先,在项目的根目录下,新建一个文本文件.dockerignore,写入下面的内容。原创 2023-12-24 16:29:52 · 464 阅读 · 0 评论 -
cmakelist.txt 编译并引用动态库
使用 CMakeLists.txt 设置工程以 debug 形式编译。2)动态库类 libHelloSLAM.cpp。1)动态库类 libHelloSLAM.h。原创 2023-04-24 22:19:40 · 714 阅读 · 0 评论 -
小样本学习
给定两张图片 a 和 b,如果两张图片越相似,则 sim (a, b) 的值越大。在小样本学习问题中,Support Set中每一类往往只有少数几个样本,单单依靠这些样本,不可能训练出一个深度神经网络,甚至无法采用迁移学习中的Pretraining+Fine Tuning方法。将Query图片和Support Set中所有图片全部转化为特征向量,然后依次计算Query图片对应的特征向量和Support Set中各图片对应特征向量之间的距离,返回Support Set中距离最小的图片类别作为预测结果。原创 2023-02-24 21:14:56 · 4665 阅读 · 2 评论 -
使用GDAL进行坐标转换
我国的基本比例尺地形图(1:5千,1:1万,1:2.5万,1:10万,1:25万,1:50万,1:100万)中,大于或等于1:50万均采用高斯-克吕格投影(Gauss_Kruger),又叫横轴墨卡托投影(Transverse Mercator);投影坐标系统是根据某种映射关系,将地理坐标系统中由经纬度确定的三维球面坐标投影到二维的平面上所使用的坐标系统。地图投影就是把地球表面的任意点,利用一定数学法则,转换到地图平面上的理论和方法,一般有两种坐标系来进行表示,分别是地理坐标系和投影坐标系。原创 2023-02-24 21:10:13 · 4508 阅读 · 0 评论 -
python读取tif图像+经纬度
则,左上角的地理坐标为:(GT(0) , GT(3) ),如果图像不含地理坐标信息,默认返回值是:(0,1,0,0,0,1);(2)用ReadAsArray(, , ,),读出从(xoff,yoff)开始,大小为(xsize,ysize)的矩阵。GeoTIFF使用gdal进行读取,GDAL 是一个开源的操作栅格数据和矢量数据的库,可用于读写、获取坐标系、获取指定位置像元值等。(1)读取一个波段,其参数为波段的索引号,波段索引号从1开始(我打开的这幅图像只有一个波段)4:列旋转,如果图像北方朝上,该值为0;原创 2023-02-24 21:02:19 · 6547 阅读 · 2 评论 -
git 命令行导入仓库
【代码】git 命令行导入仓库。原创 2023-02-14 21:46:51 · 193 阅读 · 2 评论 -
ubuntu 防火墙命令整理
1.2、查看防火墙:firewall-cmd --list-all。1.3、更新防火墙规则:firewall-cmd --reload。1.1、查看防火墙状态:firewall-cmd --state。2.1、临时增加(reload之后消失):不需要reload。2.3、临时删除端口:reload后消失。2.4、永久删除端口:reload后生效。1、防火墙:firewall-cmd命令。2.2、永久增加:reload后生效。4.4、增加服务(临时增加)4.5、删除服务(临时删除)4.1、防火墙服务的状态。原创 2023-01-29 23:03:24 · 3984 阅读 · 0 评论 -
ubuntu18.04运行ORB_SLAM2
下载完成后解压缩到主目录(其他位置也可),进入ORB_SLAM2文件夹进行编译。注意代码最后一部分是数据集的存储路径,需要按照自己的存储路径进行更改。下载好以后拷贝associate.py至ORB_SLAM2主文件夹内。在associate.py所在的目录执行:(将RGB信息和深度信息链接到一起)在ORB_SLAM2文件夹内新建data(名字随意)文件夹,用于存放数据集,将刚刚解压缩后的文件夹拷贝至data文件夹内。将build.sh文件和build_ros.sh中的make -j改为make。原创 2022-12-31 08:00:01 · 1112 阅读 · 0 评论 -
CUDA驱动版本不满足CUDA运行版本查找
可能原因:每一个pytorch版本都有对应的cuda版本,可能是在安装pytorch的时候,选择的pytorch版本所对应的版本cuda版本与本机所安装的cuda版本不相符。比对前后两个cuda版本是否一致,如果不一致,就需要卸载并安装与本机cuda版本相同的pytorch(当然应该也可以改本机的cuda版本,只不过相对比较麻烦),选择合适版本版本,右键复制链接地址,替换上面的pytorch-version-link,执行命令就行。PS:时间太久已经找不到原文链接了,若有侵权请联系删除。原创 2022-11-30 21:38:28 · 1019 阅读 · 0 评论 -
如何写出一份完整的发明专利
名称+领域+方案+效果,结尾一个句号,300字以内。(方案效果可以不用太详细)方法:本发明提供一种卷积神经网络方法,领域:属于卷积神经网络领域。翻译 2022-11-27 21:01:14 · 7810 阅读 · 0 评论 -
公式编辑器里面添加空格
最近文档写的有点多,遇到了一个尴尬的问题,公式编辑器里面字符之间怎么加空格?在需要插入空格的地方,插入该字符。原创 2022-11-13 20:12:34 · 1138 阅读 · 0 评论 -
coco目标检测排名
可以看到截止目前2022.11月,指标最高的为FD-SwinV2-F,ap为64.2。有同学整理了coco上排名靠前的检测算法,并做了摘要。原创 2022-10-29 18:31:18 · 3621 阅读 · 0 评论 -
pytorch 修改预训练模型
torchvision中提供了很多训练好的模型,这些模型是在1000类,224*224的imagenet中训练得到的,很多时候不适合我们自己的数据,可以根据需要进行修改。最后,构建一个对象,并加载resnet预训练的参数就可以了。原创 2022-10-22 16:00:13 · 1342 阅读 · 0 评论 -
ubuntu 16.04 SSH 无法远程登录问题
找到:PermitRootLogin prohibit-password禁用。解决ubuntu 16.04 SSH 无法远程登录问题。添加:PermitRootLogin yes。step1、安装 open ssh。step2、修改root密码。原创 2022-09-22 21:46:29 · 730 阅读 · 0 评论 -
win10 编译 Pangolin
Pangolin 库依赖 Glew 和 freeglut,所以在编译 Pangolin 之前,先编译 Glew 和 freeglut,这两个包编译后统一放在OpenGL文件夹。在 D:/env/OpenGL 文件夹下新建 bin、include、lib文件夹。原创 2022-09-22 21:41:24 · 2411 阅读 · 1 评论 -
偏航角,滚动角,俯仰角
原文排版稍微有点乱,重新排版,标记重点词。转载 2022-09-19 21:54:01 · 4695 阅读 · 0 评论 -
UTM 坐标系
UTM(Universal Transverse Mercator Grid System, 通用横墨卡托网格系统)原创 2022-09-19 21:42:01 · 4123 阅读 · 1 评论 -
RuntimeError: Expected a ‘cuda‘ device type for generator but found ‘cpu‘
使用pytoch1.10训练时,报错:RuntimeError: Expected a ‘cuda‘ device type for generator but found ‘cpu‘。将torch.set_default_tensor_type(‘torch.FloatTensor’)改为:torch.set_default_tensor_type(‘torch.cuda.FloatTensor’)。2、修改将torch.set_default_tensor_type。............原创 2022-08-19 09:44:21 · 7908 阅读 · 11 评论 -
win10上vs2017配置Eigen3开发环境
Eigen是一个高层次的C ++库,支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。是一个由头文件组成的库,可以不用编译,直接下载,加载到本地项目。 官网下载地址:http://eigen.tuxfamily.org/index.php?title=Main_Page,目前最新版本为3.4.0,我们就下载对应的zip即可。 解压后,目录里面有很多文件,其中包含Eigen库。 step1、新建项目,名为test_eigen。 step2、平台选为D原创 2022-06-20 22:55:00 · 898 阅读 · 0 评论 -
ubuntu18.04 编译 opencv3 错误处理
针对文章:ubuntu18.04下opencv3.4编译_alex1801的博客-CSDN博客,出现的安装错误进行整理。1、fatal error: boostdesc_bgm.i: 没有那个文件或目录 安装OpenCV-contrib时报错: fatal error: boostdesc_bgm.i: 没有那个文件或目录 compilation terminated. 原因:缺少文件,在构建的时候没有下载。 解决方式:下载文件,解压到opencv_c原创 2022-06-12 18:17:46 · 818 阅读 · 2 评论 -
Eigen常用操作
Eigen是一个高层次的C ++库,支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。本例程包含头文件:#include <iostream>using namespace std;#include <ctime>// Eigen 核心部分#include <Eigen/Core>#include <Eigen/Dense>using namespace Eigen;#define MATRIX_SIZE 51...原创 2022-05-25 23:07:29 · 785 阅读 · 0 评论 -
win10上vs2017配置Eigen3开发环境
1、Eigen简介Eigen是一个高层次的C ++库,支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。是一个由头文件组成的库,可以不用编译,直接下载,加载到本地项目。官网下载地址:Eigen,目前最新版本为3.4.0,我们就下载对应的zip即可。解压后,目录里面有很多文件,其中包含Eigen库。2、vs2017属性表单配置step1、新建项目,名为test_eigen。step2、平台选...原创 2022-05-25 21:39:45 · 1477 阅读 · 0 评论 -
匈牙利算法python实现
多目标跟踪问题中都会遇到多个目标在两帧之间的匹配问题,这种多对多的匹配问题一般会使用匈牙利算法解决。匈牙利算法,本身解决的是一个指派问题。指派问题描述:实际中,会遇到这样的问题,有 m 项不同的任务,需要 n 个人分别完成其中的1项,每个人完成任务的时间不一样。于是就有一个问题,如何分配任务使得花费时间最少。转换到多目标跟踪中即可描述为:待跟踪匹配目标为 m 个,当前帧检测到 n 个目标,已知 m 个目标和 n 个检测结果之间的距离,求最有匹配,使得距离误差累计最小。...原创 2022-03-16 22:07:37 · 4253 阅读 · 1 评论 -
无穷远点、无穷远线与无穷远平面
1、2D平面上的直线2D平面上一条直线,可以用 ax1 + bx2 + c = 0 描述,将参数和变量分别提取乘参数,可以用向量 l 和 x 描述。以后可以直接说这条直线就是 l , l 决定了这条直线,求直线等同于求 l 。如果一个点属于这条直线,那么直线的方程可以用向量的相乘等于0表示。2、2D平面上的直线交点两条直线的交点,可以用两个直线的叉乘表示,叉乘的结果为交点坐标。证明:因此,...原创 2022-03-15 23:26:15 · 4844 阅读 · 2 评论 -
针孔 or 透镜相机标定
1、相机标定概念摄相机标定,即求解摄像机内、外参数矩阵。摄像机内、外参数矩阵描述了三维世界到二维像素的映射关系。标记约定,没有特殊说明时P表示世界坐标系下的三维点,p表示像素坐标系下的像素坐标点。目标:从1张或多张图像中估计相机的内参、外参矩阵。2、计算投影矩阵M制作一三个面互相垂直的标定板,画上对应的格子。世界坐标系中P1,...,Pn位置已知,对应的图像中p1,...,pn像素坐标已知的情况下,求解摄像机内、外参数。...原创 2022-03-10 22:34:39 · 395 阅读 · 0 评论 -
方程组的最小二乘解
1、线性方程组的最小二乘解对于线性方程组求解,我们一般写成矩阵形式 Ax = y。当矩阵A满秩(即这q个变量是线性无关的)时:p<q 时,为欠定方程组,方程个数少于未知数个数,有多解;p=q 时,为方阵,方程个数等于未知数个数,有唯一解;p>q 时,为超定方程组,方程个数多于未知数个数,无解(除非y可以由A的列向量线性表示);我们实际中,需要使用多个方程组,以降低噪声对求解过程的影响,...原创 2022-03-10 22:25:36 · 14526 阅读 · 0 评论 -
6、git 多人协作
当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin。要查看远程库的信息使用:git remote要查看远程库的详细信息使用:git remote –v如下演示:1、推送分支 推送分支就是把该分支上所有本地提交到远程库中,推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上: 使用命令: git push ...原创 2022-01-25 22:59:42 · 457 阅读 · 0 评论 -
5、git 创建与合并分支
总结创建与合并分支命令如下:查看分支:git branch创建分支:git branch name切换分支:git checkout name创建+切换分支:git checkout –b name合并某分支到当前分支:git merge name删除分支:git branch –d name1、创建与合并分支在版本回退里,你已经知道,每次提交,Git都把它们串成一...原创 2022-01-25 22:47:27 · 380 阅读 · 0 评论 -
3、git 暂存区撤销与删除
1、理解工作区与暂存区的区别暂存区:git add后的区域;当前分支: git commit后的区域;工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。 版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了...原创 2022-01-25 22:22:42 · 9348 阅读 · 0 评论 -
2、git 版本回退
版本回退:git log: 查看现有已提交日志git log –pretty=oneline:简单显示日志git reset --hard HEAD^:回退上一次提交,^个数表示第n次提交git reset --hard HEAD~100:回退到第上100提交,100为参数git reset --hard 版本号 :回退到某一版本号git reflog:查看所有提交log,显示对应...原创 2022-01-25 22:12:09 · 5551 阅读 · 0 评论 -
1、git 创建版本库,add commit文件
1、配置git安装完成后,还需要最后一步设置,在命令行输入如下:因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。2、用git init创建仓库打开git bash,在确定目录下输入git init创建git 仓库。指令兼容linux...原创 2022-01-25 22:02:44 · 1140 阅读 · 0 评论 -
pointnet论文翻译
论文地址:https://arxiv.org/pdf/1612.00593.pdf摘要点云是一种重要的几何数据结构。由于其无序性,大部分研究把这种数据转换成了有序的3D体素网格或者图片集合。然而,这会使数据不必要地大量增加,并导致问题。在本文中,我们设计了一种直接处理点云的新型神经网络,这种网络很好的考虑了输入中的点的有序性。PointNet,这种神经网络为物体分类、部分分割和场景语义分析提供了统一的结构。虽然简单,但PointNet十分高效且有效。根据经验,这种神经网络表现出了和现...转载 2022-01-03 15:58:38 · 534 阅读 · 0 评论 -
KITTI数据集下载链接
1、简介KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截...原创 2022-01-03 15:38:09 · 22899 阅读 · 4 评论 -
CloudCompare点云可视化工具
CloudCompare是一个常用的点云可视化工具,百度云下载地址:链接:https://pan.baidu.com/s/1NQexZWf6PBHDwH59_vkGnA提取码:003x工具使用:下载完成后,点击文件夹中CloudCompare.exe打开软件。点击file->open->open file,在对话框中选择点云文件。打开后结果如下:...原创 2022-01-03 15:30:54 · 2035 阅读 · 0 评论