1.概述在Linux下编译安装OpenCV的码解步骤
2.Linux中potree的环境配置及点云可视化
3.opencv cv::distanceTransform()距离变换论文与源码
4.OpenCV下载和安装(包含所有平台)!
5.ROS2测试源码编译安装cartographer
概述在Linux下编译安装OpenCV的步骤
OpenCV是一个计算机视觉库,支持Windows、码解Linux、码解MacOS等操作系统。码解在Linux环境中安装OpenCV主要涉及源码编译。码解官网的码解photoshop水印源码下载链接为opencv.org/releases.htm...
选择最新版本3.2.0,Linux用户需下载zip格式源码。码解安装所需的码解软件包包括GCC 4.4.x或更高版本,CMake 2.8.7或更高,码解Git,码解GTK+2.x或更高(包括headers),码解pkg-config,码解Python 2.6或更高版本及Numpy 1.5或更高版本的码解开发包,ffmpeg或libav的码解开发包:libavcodec-dev,libavformat-dev,码解libswscale-dev。可选包有libtbb2和libtbb-dev,libdc 2.x,libjpeg-dev,libpng-dev,libtiff-dev,libjasper-dev,libdc--dev,CUDA Toolkit 6.5或更高版本。源码比较这些包通过apt-get命令直接安装,打开终端,输入相关命令即可。安装完毕后,在解压后的opencv-XXX目录内建立build文件夹,编译的makefiles、project files、object files和output files存放于此。
开始编译,只需三行命令:配置、build和安装。配置命令为:$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local 。。参数CMAKE_BUILD_TYPE表示构建类型,有Release和Debug两种;CMAKE_INSTALL_PREFIX指定安装目录,一般为/usr/local。可选参数包括BUILD_DOCS和BUILD_EXAMPLES,前者构建文档,后者构建所有示例。若配置命令无法执行,去掉-D后面的空格。build命令为:make -j7,使用7个线程加速编译。源码dll安装命令为:sudo make install。
至此,Linux环境下成功安装OpenCV。为了验证Python环境中的使用情况,可以尝试运行一段代码:读取并显示。代码如下:import cv2image = cv2.imread(“logo.png”, 1)cv2.imshow(“Hello, world!”, image)cv2.waitKey(0)cv2.destroyAllWindows()若在运行时遇到错误,请检查路径是否改为绝对路径。成功运行后,将看到显示的。
Linux中potree的环境配置及点云可视化
为了在Linux环境中配置Potree并实现点云可视化,请确保你的电脑已安装Node.js和Gulp,若已安装,直接跳至第三步。
一、安装Node.js
二、安装Gulp
三、安装Potree
在终端依次执行以下命令,Potree的安装目录下应出现一个名为“build”的文件夹。
四、战机源码PotreeConverter安装
要实现Potree可视化,需使用特定格式的数据。因此,需将txt、las等数据转换为Potree所定义的格式。首先安装LAStools,这将配置好PotreeConverter所需的依赖。
四、LAStools安装
四、PotreeConverter
若在转换过程中遇到TBB.camke类错误,应采用源码方式安装tbb库,避免使用apt-get install libtbb-dev,以确保在编译链接PotreeConverter时不会出错。
五、数据转换
介绍几种数据转换方法。
六、potree点云可视化
完成以上步骤后,进入potree目录,运行npm start命令。接着,在浏览器中打开localhost:/examples链接,即可浏览examples中的文件并点击打开进行可视化。
opencv cv::distanceTransform()距离变换论文与源码
OpenCV的哈哈源码cv::distanceTransform()函数用于计算图像中所有点到最近‘0’点的距离,其应用广泛,例如在无人驾驶中,用于测量图像中最近障碍物的距离。它支持两种距离计算:L1和L2。当maskSize为DIST_MASK_PRECISE且distanceType为DIST_L2时,采用[]中的并行算法,借助TBB库。其他情况下,会使用[]算法。
简单来说,[]算法在年发表,而[]则更易于理解且适用于L2距离。距离变换定义了一个函数Df,它是输入函数f的欧氏距离变换,即对于每个点p,找到最近的q点,其距离加上f(q)值。
公式[公式]描述了经典的距离变换方法,它将每个网格位置与最近点P通过二值图像关联。在OpenCV的实现中,如/modules/imgproc/src/distransform.cpp的Line ,有一维和二维情况的处理方法。一维时,欧氏距离平方变换为[公式],二维则通过两次一维变换简化计算过程。
如果你对OpenCV的距离变换感兴趣,欢迎查看我的专栏并投稿,共同探讨OpenCV背后的原理和知识,共同进步。
OpenCV下载和安装(包含所有平台)!
在 OpenCV 的官方网站上,可以下载其最新完整版本以及多数 release 版本的源码。如今,OpenCV 使用 Git 进行版本管理,同时也利用 Cmake 进行工程构建。
在 Windows 中,可通过下载 EXE 文件,该文件会将预编译好的 OpenCV 解压到本地,适配不同版本的 Visual Studio。然而,Windows 缺乏包含 debug 版本库的预编译版本,因此需要在项目启动前手动编译。需额外设置环境变量 OPENCV_DIR,通过 `setx` 命令将其路径设置为 `D:\OpenCV\Build\x\vc`。静态链接 OpenCV 仅需此步,若需动态链接库(DLL),需确保编译器能访问 `%OPENCV_DIR%\bin`。针对 Windows ,可于系统属性 -> 环境变量中添加 `%OPENCV_DIR%\bin` 到 path 变量。
使用源代码进行 OpenCV 编译,步骤包括运行 CMake GUI,设置 OpenCV 源码目录以及构建目标文件夹,配置编译器(或选择 MinGW 构建文件),使用 Visual Studio 打开生成的解决方案进行编译。Linux 环境下,需准备 GCC、GLIBC、GTK+ 2.x或更高版本、cmake、libtbb等库,下载源代码后通过 `./configure --enable-shared`、`make`、`sudo make install` 进行编译。
注意在 Ubuntu、Debian、SuSE等 Linux 发行版中,可能提供内置 OpenCV,否则需使用源代码安装,安装要求包括 Python 2.6 或更高版本、NumPy、ffmpeg 的 libav* 库与头文件等。Linux 与 Windows 类似,CMake 配置允许自定义构建选项,如构建指定例子、增加 Python 支持或启用 CUDA 功能。当编译完成时,文件将安装在指定目录,利用 IPP 进行加速,除非通过 CMake 指令明确禁用。
Mac 系统安装 OpenCV 类似于 Linux,Xcode 提供了构建和调试所需的大多数工具。Mac 默认采用 Cocoa 替代 GTK+、QTKit 替代 ffmpeg、GDC 替代 TBB 和 OpenMP。从 GitHub 的 OpenCV Git 仓库下载最新版本,Linux 用户可执行 `git clone /opencv/opencv.git`。在编程路上,不断进阶与探索是值得的。
ROS2测试源码编译安装cartographer
Cartographer是一个跨平台、传感器配置提供实时同步定位和绘图(SLAM)的系统,具有回环检测优势,资源占用适中。
选择源码编译安装方式,以适应后期项目修改和移植需求。首先,使用Ubuntu虚拟机测试验证。
若国内访问github受限,可选择Gitee上的备份仓库进行下载。尝试多个版本,确认在Ubuntu humble版本下能够成功下载和安装。
在安装过程中,需要下载依赖项。在Ubuntu上,首先安装libabsl-dev、libceres-dev以及liblua5.3-dev等包。对于ceres-solver,需确保CUDA、显卡加速和TBB指令集优化选项已配置。
在开发板上,通过源码编译安装三方依赖。确保所有依赖包均正确安装,包括protobuf版本为v3.4.1分支。
完成所有依赖安装后,开始编译Cartographer源码。首先下载官方数据集,注意ROS2格式的rosbag转换,使用rosbags工具进行转换。
介绍ROSbag格式,ROS1的.rosbag文件为二进制存储格式,而ROS2使用SQLite数据库格式,支持跨平台和扩展性。两种格式转换方法,推荐使用rosbags工具,无需依赖ROS环境。
测试Cartographer时,使用ros2命令启动示例launch文件,输入特定的bag文件名以加载数据集。测试3D数据集时,使用相应的launch文件和bag文件名。
资源占用情况分析将后续进行。