草庐IT

open-jdk

全部标签

wsl2使用open3d等进行图像绘制

在~/.bashrc文件中添加两个环境变量exportDISPLAY="`grepnameserver/etc/resolv.conf|sed's/nameserver//'`:0"exportLIBGL_ALWAYS_INDIRECT=0第一行是让wsl将openGL命令(图形绘制命令)输出到哪里,也就是x-server的位置,这里指的就是我们本地的windows主机在wsl中的ip地址。第二行禁止永远使用间接渲染,如果某些程序想要使用直接渲染那就让他使用直接渲染(关键,open3d只能直接调用gpu进行渲染,所有的错误都是由此产生)。设置本地x-server这里一定要禁止nativeope

linux:管理员权限下发生“etc/profile“ E212: Can‘t open file for writing解决办法

其实很简单,解决了,可能是路径的问题解决办法:第一步:cd到根目录cd/第二步:cd到etc目录cdetc第三步:进入vim更改profile文件sudovimprofile第四步:正常:wq保存并且退出就好,这次可以了

Linux:安装jdk

一、tar压缩包形式安装jdk:        1、安装到/opt目录下,如下图所示,先将tar.gz压缩包移动到/opt目录下,然后解压出来,命令依次是:        tar-zxvfjdk-8u151-linux-x64.tar.gz        2、解压缩完毕后,我们使用ls命令可以看到目录底下又生成了一个新的jdk.18.0_151目录,切换到该目录下查看,可以看到执行文件目录bin、包文件lib都在里面。我们再查看bin目录,里面java的各种命令都在,因此下一步我们只需要把这个bin目录添加到环境变量里去,就能够直接运行下面的命令了。        3、配置环境变量,刚才我们把

激光雷达与相机外参标定(附open3d python代码)

现在的激光雷达与相机的标定程序基本都是Ubuntu框架下面的,并且都是C++代码,需要安装的依赖也比较复杂,于是自己写了一个python版本的标定程序,依赖非常简单,Windows系统也可以运行。并且代码简单一个文件搞定,符合python简单易行的风格。先上最后标定后的效果图​:标定的思路比较简单​:1 手动在图像上面选取N个标定点2手动在点云上选取N个标定点(每个点都对应图像上的点,顺序也要一致)3 通过PNP方法计算出二者的旋转投影矩阵,也就是外参矩阵第一步的示意图:​第二步的示意图:​最后,上代码:

Open3D 点云投影到拟合平面:Python 实现详解

Open3D点云投影到拟合平面:Python实现详解点云是指由大量离散的3D点组成的几何图形,常常用于工业检测、三维建模等领域。而拟合平面是指在点云数据中找到一个最适合的平面,该平面能够近似地拟合这些点云数据。将点云投影到拟合平面可以方便地进行分析和处理。本文将详细介绍使用Open3D库将点云数据投影到拟合平面的Python实现过程。1.安装Open3D首先,需要在Python中安装Open3D库。使用pip命令即可完成安装:pipinstallopen3d2.导入点云数据本实例使用了官方提供的样例点云数据。导入点云数据的代码如下:importopen3daso3dpcd=o3d.io.rea

Linux下卸载与安装JDK

卸载一、Linux删除自带的JDK第一步:先查看Linux自带的JDK有几个,用命令:rpm-qa|grep-ijava第二步:去删除JDK,执行命令:rpm-qa|grep-ijava|xargs-n1rpm-e--nodeps#rpm-qa:查询所安装的所有rpm包#grep-i:忽略大小写#xargs-n1:表示每次只传递一个参数#rpm-e--nodeps:强制卸载软件第三步:编辑profile文件,去除环境变量配置vim/etc/profile#然后source命令让修改后的profile文件立即生效source/etc/profile最后:#查看是否还在即可rpm-qa|grep-

JDK 代理和 CGLib 有什么区别?

JDK代理和CGLib有什么区别?动态代理是一种机制,程序通过该机制在运行时动态生成代理对象并调用代理方法。动态代理主要有两种实现机制,一种是基于反射动态代理的JDK,另一种是基于ASM动态代理机制的CGLib实现。现在让我们谈谈两种实现之间的区别以及如何实现它们JDK代理和CGLib之间的区别JDK动态代理采用反射机制实现,而CGLib基于ASM机制实现,性能不同JDK动态代理是Java语言的内置功能,它不断更新和升级,没有任何维护问题。CGLib是基于第三方工具实现的,两种实现方式往往不同。JDK动态代理必须通过接口实现,调用起来相对简单,而CGLib不需要接口,调用起来相对复杂。JDKP

c++ - sqlite3_open 无法在行打开文件

我正在使用swift和c++sqlite数据库制作一个ios应用程序。我的问题是当我在xcode中运行代码时,尝试在C++文件中打开数据库时出现错误。[logging-persist]无法在[95fbac39ba]的第42263行打开文件我试图获取正确的文件路径,就像我们如何在swift中使用sqlite一样,只是将该路径复制并粘贴到c++文件,但它没有用。我得到的文件路径是/Users/racelab/Library/Developer/CoreSimulator/Devices/1B9AB8BA-C000-42CC-8588-211E0928722F/data/Containers

出现OSError: [Errno 24] Too many open files错误解决方法。

出现了:OSError:[Errno24]Toomanyopenfiles这是因为1,打开文件太多2,其实不然,是线程限制,通常我们采用更改限制即可。输入下面的命令看一下:ulimit-n 输出:1024果然如我所预想,得到的结果是1024,就是说系统限制为同时打开1024个文件。修改方法:1、将自己的线程数改小,使之符合这个限制(只是方法)。2、将这个限制值改大。a、ulimit-n2048(此方法为临时修改,可能有效,或者需要更大)b、修改以下文件sudovim/etc/security/limits.conf添加:###*softcore0#roothardcore100000#*har

JDK17安装教程及其环境变量配置

Windows下载和安装JDK,以及配置JDK环境变量一、下载和安装1.官网下载链接:JAVADownloads|Oracle,然后安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\ProgramFiles\Java\jdk-17注:有Linux、macOS、Windows三个版本,自行选择,Windows建议下载Windows下的x64Installer安装包。2.直接点击下载好的安装包3.点击下一步4.可以更改安装JDK的路径5.安装完毕二、配置JDK环境变量1.安装完成后,右击【我的电脑】,点击【属性】;2.选择【高级系统设置】选项卡,点击【环境变量】;3.在【