win10 c++ VsCode 配置PCL open3d并显示
win10 c++ VsCode配置PCL open3d并显示
- 一、效果图
- 二、配置步骤
- 2.1 安装vscode
- 2.2 pcl-open3d配置
- 2.3 vscode中设置
- 三、测试代码
- 四、注意事项及后续
一、效果图

二、配置步骤
2.1 安装vscode
vscode下载链接

下载中文插件、c++相关插件


2.2 pcl-open3d配置
1)下载配置好的环境(pcl1.11 、open3d0.18)
pcl1.11
pcl下载
open3d-0.18
open3d c++下载
2)自己配置注意事项
pcl 配置
pcl已经博客很多,搜一下就行。
open3d配置
open3d 中fmt glew gluw等库可能需要自己重新编译生成lib,否则后续显示会有问题,可以参考我提供的资源。
2.3 vscode中设置
创建文件夹
随意创建pcl_open3d文件夹,我创建在桌面。

打开文件夹,并新建文件

先进入文件夹,后code .打开vscode

新建一个test.cpp文件

test.cpp分别测试open3d显示与pcl显示
/**PCL/open3d显示测试* @Gelou* 2025-3-16*/
#include <iostream>
#include <vector>
#include <string>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <open3d/Open3D.h>using namespace std;
int main()
{//open3d 显示点云open3d::geometry::PointCloud CurCloud;open3d::io::ReadPointCloud("1.pcd", CurCloud);cout<<"size:"<<CurCloud.points_.size()<<endl;open3d::visualization::Visualizer vis;vis.CreateVisualizerWindow("Open3D Point Cloud Viewer", 1024, 768);vis.AddGeometry(std::make_shared<open3d::geometry::PointCloud>(CurCloud));vis.Run();vis.DestroyVisualizerWindow();//pcl显示点云pcl::PointCloud<pcl::PointXYZRGB> cloud;pcl::io::loadPCDFile("1.pcd",cloud);cout<<"size:"<<cloud.size()<<endl;pcl::visualization::PCLVisualizer viewer("viewer");viewer.addPointCloud(cloud.makeShared(),"cloud");viewer.spin();return 0;
}
快捷键ctrl +shift +p进入编辑UI,选择cl.exe路径,设置X64的


随后,下图位置出现c_cpp_properties.json,设置如下:

我在这地方设置了pcl与open3d 的路径
{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","D:/PCL/PCL1.11.1/include/pcl-1.11","D:/PCL/PCL1.11.1/3rdParty/Boost/include/boost-1_74","D:/PCL/PCL1.11.1/3rdParty/Eigen/eigen3","D:/PCL/PCL1.11.1/3rdParty/FLANN/include","D:/PCL/PCL1.11.1/3rdParty/FLANN/include/flann","D:/PCL/PCL1.11.1/3rdParty/OpenNI2/Include","D:/PCL/PCL1.11.1/3rdParty/Qhull/include","D:/PCL/PCL1.11.1/3rdParty/vtk/include/vtk-8.2","D:/Open3D/include","D:/Open3D/include/open3d/3rdparty"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.19041.0","compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x86/cl.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "windows-msvc-x64"}],"version": 4
}
快捷键ctrl +shift +p,输入task,点击第一个,随后生成task.json文件

我的task.json文件如下,配置了open3d和pcl路径与lib文件:
{"version": "2.0.0","tasks": [{"type": "cppbuild","label": "C/C++: cl.exe 生成活动文件","command": "cl.exe","args": ["/Zi","/EHsc","/MD", // 显式指定动态运行时库"/I","D:/PCL/PCL1.11.1/include/pcl-1.11","/I","D:/PCL/PCL1.11.1/3rdParty/Eigen/eigen3","/I","D:/PCL/PCL1.11.1/3rdParty/Boost/include/boost-1_74","/I","D:/PCL/PCL1.11.1/3rdParty/FLANN/include","/I","D:/PCL/PCL1.11.1/3rdParty/FLANN/include/flann","/I","D:/PCL/PCL1.11.1/3rdParty/OpenNI2/Include","/I","D:/PCL/PCL1.11.1/3rdParty/Qhull/include","/I","D:/PCL/PCL1.11.1/3rdParty/vtk/include/vtk-8.2","/I","D:/Open3D/include","/I","D:/Open3D/include/open3d/3rdparty","/nologo","/Fe${fileDirname}\\${fileBasenameNoExtension}.exe","${file}","/link","/MACHINE:X64", // 强制指定 64 位架构"/LIBPATH:D:/Open3D/lib","glew32.lib","glew32s.lib","Open3D.lib","glfw3.lib","fmt.lib","/LIBPATH:D:/PCL/PCL1.11.1/lib","pcl_common.lib","pcl_features.lib","pcl_filters.lib","pcl_io.lib","pcl_io_ply.lib","pcl_kdtree.lib","pcl_keypoints.lib","pcl_ml.lib","pcl_octree.lib","pcl_outofcore.lib","pcl_people.lib","pcl_recognition.lib","pcl_registration.lib","pcl_sample_consensus.lib","pcl_search.lib","pcl_segmentation.lib","pcl_stereo.lib","pcl_surface.lib","pcl_tracking.lib","pcl_visualization.lib","/LIBPATH:D:/PCL/PCL1.11.1/3rdParty/Boost/lib","libboost_atomic-vc142-mt-x64-1_74.lib","libboost_bzip2-vc142-mt-x64-1_74.lib","libboost_chrono-vc142-mt-x64-1_74.lib","libboost_container-vc142-mt-x64-1_74.lib","libboost_context-vc142-mt-x64-1_74.lib","libboost_contract-vc142-mt-x64-1_74.lib","libboost_coroutine-vc142-mt-x64-1_74.lib","libboost_date_time-vc142-mt-x64-1_74.lib","libboost_exception-vc142-mt-x64-1_74.lib","libboost_fiber-vc142-mt-x64-1_74.lib","libboost_filesystem-vc142-mt-x64-1_74.lib","libboost_graph-vc142-mt-x64-1_74.lib","libboost_graph_parallel-vc142-mt-x64-1_74.lib","libboost_iostreams-vc142-mt-x64-1_74.lib","libboost_locale-vc142-mt-x64-1_74.lib","libboost_log-vc142-mt-x64-1_74.lib","libboost_log_setup-vc142-mt-x64-1_74.lib","libboost_math_c99-vc142-mt-x64-1_74.lib","libboost_math_c99f-vc142-mt-x64-1_74.lib","libboost_math_c99l-vc142-mt-x64-1_74.lib","libboost_math_tr1-vc142-mt-x64-1_74.lib","libboost_math_tr1f-vc142-mt-x64-1_74.lib","libboost_math_tr1l-vc142-mt-x64-1_74.lib","libboost_mpi-vc142-mt-x64-1_74.lib","libboost_nowide-vc142-mt-x64-1_74.lib","libboost_numpy38-vc142-mt-x64-1_74.lib","libboost_prg_exec_monitor-vc142-mt-x64-1_74.lib","libboost_program_options-vc142-mt-x64-1_74.lib","libboost_python38-vc142-mt-x64-1_74.lib","libboost_random-vc142-mt-x64-1_74.lib","libboost_regex-vc142-mt-x64-1_74.lib","libboost_serialization-vc142-mt-x64-1_74.lib","libboost_stacktrace_noop-vc142-mt-x64-1_74.lib","libboost_stacktrace_windbg-vc142-mt-x64-1_74.lib","libboost_stacktrace_windbg_cached-vc142-mt-x64-1_74.lib","libboost_system-vc142-mt-x64-1_74.lib","libboost_test_exec_monitor-vc142-mt-x64-1_74.lib","libboost_thread-vc142-mt-x64-1_74.lib","libboost_timer-vc142-mt-x64-1_74.lib","libboost_type_erasure-vc142-mt-x64-1_74.lib","libboost_unit_test_framework-vc142-mt-x64-1_74.lib","libboost_wave-vc142-mt-x64-1_74.lib","libboost_wserialization-vc142-mt-x64-1_74.lib","libboost_zlib-vc142-mt-x64-1_74.lib","/LIBPATH:D:/PCL/PCL1.11.1/3rdParty/FLANN/lib","flann.lib","flann_cpp.lib","flann_cpp_s.lib","flann_s.lib","/LIBPATH:D:/PCL/PCL1.11.1/3rdParty/OpenNI2/Lib","OpenNI2.lib","/LIBPATH:D:/PCL/PCL1.11.1/3rdParty/Qhull/lib","qhull.lib","qhullcpp.lib","qhullstatic.lib","qhullstatic_r.lib","qhull_p.lib","qhull_r.lib","/LIBPATH:D:/PCL/PCL1.11.1/3rdParty/VTK/lib","QVTKWidgetPlugin.lib","vtkChartsCore-8.2.lib","vtkCommonColor-8.2.lib","vtkCommonComputationalGeometry-8.2.lib","vtkCommonCore-8.2.lib","vtkCommonDataModel-8.2.lib","vtkCommonExecutionModel-8.2.lib","vtkCommonMath-8.2.lib","vtkCommonMisc-8.2.lib","vtkCommonSystem-8.2.lib","vtkCommonTransforms-8.2.lib","vtkDICOMParser-8.2.lib","vtkDomainsChemistry-8.2.lib","vtkDomainsChemistryOpenGL2-8.2.lib","vtkdoubleconversion-8.2.lib","vtkexodusII-8.2.lib","vtkexpat-8.2.lib","vtkFiltersAMR-8.2.lib","vtkFiltersCore-8.2.lib","vtkFiltersExtraction-8.2.lib","vtkFiltersFlowPaths-8.2.lib","vtkFiltersGeneral-8.2.lib","vtkFiltersGeneric-8.2.lib","vtkFiltersGeometry-8.2.lib","vtkFiltersHybrid-8.2.lib","vtkFiltersHyperTree-8.2.lib","vtkFiltersImaging-8.2.lib","vtkFiltersModeling-8.2.lib","vtkFiltersParallel-8.2.lib","vtkFiltersParallelImaging-8.2.lib","vtkFiltersPoints-8.2.lib","vtkFiltersProgrammable-8.2.lib","vtkFiltersSelection-8.2.lib","vtkFiltersSMP-8.2.lib","vtkFiltersSources-8.2.lib","vtkFiltersStatistics-8.2.lib","vtkFiltersTexture-8.2.lib","vtkFiltersTopology-8.2.lib","vtkFiltersVerdict-8.2.lib","vtkfreetype-8.2.lib","vtkGeovisCore-8.2.lib","vtkgl2ps-8.2.lib","vtkglew-8.2.lib","vtkGUISupportQt-8.2.lib","vtkGUISupportQtOpenGL-8.2.lib","vtkGUISupportQtSQL-8.2.lib","vtkhdf5-8.2.lib","vtkhdf5_hl-8.2.lib","vtkImagingColor-8.2.lib","vtkImagingCore-8.2.lib","vtkImagingFourier-8.2.lib","vtkImagingGeneral-8.2.lib","vtkImagingHybrid-8.2.lib","vtkImagingMath-8.2.lib","vtkImagingMorphological-8.2.lib","vtkImagingSources-8.2.lib","vtkImagingStatistics-8.2.lib","vtkImagingStencil-8.2.lib","vtkInfovisCore-8.2.lib","vtkInfovisLayout-8.2.lib","vtkInteractionImage-8.2.lib","vtkInteractionStyle-8.2.lib","vtkInteractionWidgets-8.2.lib","vtkIOAMR-8.2.lib","vtkIOAsynchronous-8.2.lib","vtkIOCityGML-8.2.lib","vtkIOCore-8.2.lib","vtkIOEnSight-8.2.lib","vtkIOExodus-8.2.lib","vtkIOExport-8.2.lib","vtkIOExportOpenGL2-8.2.lib","vtkIOExportPDF-8.2.lib","vtkIOGeometry-8.2.lib","vtkIOImage-8.2.lib","vtkIOImport-8.2.lib","vtkIOInfovis-8.2.lib","vtkIOLegacy-8.2.lib","vtkIOLSDyna-8.2.lib","vtkIOMINC-8.2.lib","vtkIOMovie-8.2.lib","vtkIONetCDF-8.2.lib","vtkIOParallel-8.2.lib","vtkIOParallelXML-8.2.lib","vtkIOPLY-8.2.lib","vtkIOSegY-8.2.lib","vtkIOSQL-8.2.lib","vtkIOTecplotTable-8.2.lib","vtkIOVeraOut-8.2.lib","vtkIOVideo-8.2.lib","vtkIOXML-8.2.lib","vtkIOXMLParser-8.2.lib","vtkjpeg-8.2.lib","vtkjsoncpp-8.2.lib","vtklibharu-8.2.lib","vtklibxml2-8.2.lib","vtklz4-8.2.lib","vtklzma-8.2.lib","vtkmetaio-8.2.lib","vtkNetCDF-8.2.lib","vtkogg-8.2.lib","vtkParallelCore-8.2.lib","vtkpng-8.2.lib","vtkproj-8.2.lib","vtkpugixml-8.2.lib","vtkRenderingAnnotation-8.2.lib","vtkRenderingContext2D-8.2.lib","vtkRenderingContextOpenGL2-8.2.lib","vtkRenderingCore-8.2.lib","vtkRenderingFreeType-8.2.lib","vtkRenderingGL2PSOpenGL2-8.2.lib","vtkRenderingImage-8.2.lib","vtkRenderingLabel-8.2.lib","vtkRenderingLOD-8.2.lib","vtkRenderingOpenGL2-8.2.lib","vtkRenderingQt-8.2.lib","vtkRenderingVolume-8.2.lib","vtkRenderingVolumeOpenGL2-8.2.lib","vtksqlite-8.2.lib","vtksys-8.2.lib","vtktheora-8.2.lib","vtktiff-8.2.lib","vtkverdict-8.2.lib","vtkViewsContext2D-8.2.lib","vtkViewsCore-8.2.lib","vtkViewsInfovis-8.2.lib","vtkViewsQt-8.2.lib","vtkzlib-8.2.lib"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$msCompile"],"group": {"kind": "build","isDefault": true},"detail": "编译器: cl.exe"}]
}
添加配置


生成launch.json文件
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(Windows) 启动","type": "cppvsdbg","request": "launch","program": "输入程序名称,例如 ${workspaceFolder}/a.exe","args": [],"stopAtEntry": true,"cwd": "${fileDirname}","environment": [],"console": "externalTerminal"}]
}
三、测试代码
选择test.cpp界面。快捷键ctrl +shift +B,点击生成,终端生成完成即可。

点击运行,分别显示open3d 与pcl环境下的点云显示。后续就可以进行二次开发了。



四、注意事项及后续
open3d 的fmt opengl相关的库需要自己先编译一下,git上不带。cmake配置应该更简单一点,但是我对cmake不太熟悉,后续在更新吧。
学习pcl open3d相关开发,关注专栏: 基于PCL、Open3d、Easy3d 、VTK等常见开源库的QT开发
相关文章:
win10 c++ VsCode 配置PCL open3d并显示
win10 c VsCode配置PCL open3d并显示 一、效果图二、配置步骤2.1 安装vscode2.2 pcl-open3d配置2.3 vscode中设置 三、测试代码四、注意事项及后续 一、效果图 二、配置步骤 2.1 安装vscode vscode下载链接 下载中文插件、c相关插件 2.2 pcl-open3d配置 1)下载…...
Vala 开发环境搭建
介绍 Vala 是一种使用现代高级抽象的编程语言,与用 C 语言编写的应用程序和库相比,没有施加额外的运行时要求,也不需要使用不同的 ABI。 Vala 使用 GObject 类型系统,并具有额外的代码生成例程,使面向 GNOME 堆栈变得简…...
【网页】自制流光卡片
概述 小红书有个博主自己搞的笔记排版工具叫“流光卡片”,类似的还有个Markdown排版工具叫MD2Card。 我这个版本类似,但是自己写的东西,控制性更好。 初期就写了个静态页面,后期结合Godot快速生成,并可能结合JS库&a…...
【数据结构】栈与队列:基础 + 竞赛高频算法实操(含代码实现)
什么是栈?什么是队列? 什么是先进后出?什么是先进先出? 了解基础之后,又如何用来写算法题? 带着这些疑问,让我带领你,走进栈与队列的世界 栈与队列 栈: 1、栈的基本…...
CSP-J/S冲奖第18天:真题解析
解题步骤 读取输入:首先读取整数n,然后读取n个正整数并存储在一个数组或容器中。 排序数组:对数组进行排序,以便后续使用双指针法高效查找。 遍历数组:对于每个数target,检查是否存在另外两个不同的数a和…...
【linux】虚拟机执行sudo yum isntall perl报错 could not retrieve mirrorlist htt:
项目场景: 提示:虚拟机安装拓展包,sudo yum install perl Virtualbox 在不安装增强功能扩展的情况下, 无法自适应分辨率和共享剪切板等操作 问题描述 原因分析: 提示:这里填写问题的分析: 出现这个错误是因…...
旅游类小程序界面设计
产品概述 艾啦游是一款互联网旅游类小程序,致力于国内精品旅游,以及拥有自由行、专属热榜单、出行攻略等诸多功能,汇聚了许多国内的人气景点,与诸多城市的酒店也保持合作,打造一体式旅行服务,更有不断上新…...
DQN 玩 2048 实战|第三期!优化网络,使用GPU、Env奖励优化
视频讲解: DQN 玩 2048 实战|第三期!优化网络,使用GPU、Env奖励优化 1. 仅考虑局部合并奖励:目前的奖励只设置为合并方块时获得的分数,只关注了每一步的即时合并收益,而没有对最终达成 2048 这个…...
【python】http post 在body中传递json数据 以发送
http post 在body中传递json数据 以发送,json的格式非常重要这里要传递json对象,而不是一个json字符串 传递post一个 JSON 字符串 是ok的 是的, {"rsource_rhythm_action_list": {"name": "AI_\\u6708\\u4eae\\u…...
Linux错误(2)程序触发SIGBUS信号分析
Linux错误(2)之SIGBUS错误分析 Author: Once Day Date: 2025年3月12日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: Linux实践记录_Once_day的博…...
【Halcon】灰度不均解决方案
目录 1、平场校正 2、形态学背景估计 3、频域滤波抑制低频光照不均 4、动态局部自适应 1、平场校正 原理:通过白场(White Image)和黑场(Black Image)图像,手动计算校正系数 * 读取图像 read_image(ImageRaw, raw_image) // 原始图像 read_image(ImageWhite, …...
滑动窗口算法详解:从入门到精通
目录 引言 1. 滑动窗口算法简介 2. 滑动窗口的基本思想 3. 滑动窗口的应用场景 3.1 最大子数组和 3.2 最小覆盖子串 3.3 最长无重复字符子串 4. 滑动窗口的实现步骤 5. 滑动窗口的代码示例 6. 滑动窗口的优化技巧 6.1 使用哈希表记录字符频率 6.2 使用双指针维护窗口…...
JAVA数据库技术(一)
JDBC 简介 JDBC(Java Database Connectivity)是Java平台提供的一套用于执行SQL语句的Java API。它允许Java程序连接到数据库,并通过发送SQL语句来查询、更新和管理数据库中的数据。JDBC为不同的数据库提供了一种统一的访问方式,使…...
LightGBM + TA-Lib A股实战进阶:Optuna调优与Plotly可视化详解
LightGBM TA-Lib A 股实战进阶:Optuna 调优与 Plotly 可视化详解 本文系统讲解了 LightGBM 在 A 股市场的应用,涵盖模型构建、Optuna 参数调优及 Plotly 可视化。通过实战案例,帮助读者全面掌握相关技术,提升在金融数据分析与预测…...
第二:go 链接mysql 数据库
mac mysql 安装 的步骤 mysql 安装 配制: https://juejin.cn/post/7454870544929472550 mac brew 如何安装mysql数据库 要在Mac上使用Homebrew安装MySQL数据库,请按照以下步骤操作:步骤 1: 安装Homebrew 如果你还没有安装Homebrew&a…...
QListView、QListWidget、QTableView和QTableWidget
一、概念 在Qt框架中,QListView、QListWidget、QTableView和QTableWidget都是用于显示列表或表格数据的控件。 QListView是一个基于模型-视图架构的控件,用于展示列表形式的数据。它本身并不存储数据,而是依赖于一个QAbstractListModel或其子…...
[贪心算法]-最大数(lambda 表达式的补充)
1.解析 我们一般使用的排序比较大小都是 a>b 那么a在b的前面 ab 无所谓 a<b a在b的后面 本题的排序则是 ab>ba 那么a在b的前面 abba 无所谓 ab<ba a在b的后面 2.代码 class Solution { public:string largestNumber(vector<int>& nums) {//1.先把所有…...
C语言 —— 此去经年梦浪荡魂音 - 深入理解指针(卷二)
目录 1. 数组名与地址 2. 指针访问数组 3.一维数组传参本质 4.二级指针 5. 指针数组 6. 指针数组模拟二维数组 1. 数组名与地址 我们先看下面这个代码: int arr[10] { 1,2,3,4,5,6,7,8,9,10 };int* p &arr[0]; 这里我们使用 &arr[0] 的方式拿到了数…...
python实现简单的图片去水印工具
python实现简单的图片去水印工具 使用说明: 点击"打开图片"选择需要处理的图片 在图片上拖拽鼠标选择水印区域(红色矩形框) 点击"去除水印"执行处理 点击"保存结果"保存处理后的图片 运行效果 先简要说明…...
使用dify+deepseek部署本地知识库
使用difydeepseek部署本地知识库 一、概述二、安装windows docker desktop1、确认系统的Hyper-v功能正常启用2、docker官网下载安装windows客户端3、安装完成后的界面如下所示 三、下载安装ollama四、部署本地deepseek五、本地下载部署dify5.1 下载dify的安装包5.2 将dify解压到…...
(C语言)指针与指针数组的使用教学(C语言基础教学)(指针教学)
指针是什么?指针怎么用?指针数组又是什么??? 想必大家刚学C语言的时候对指针可谓是十分头疼了,听也听不懂,用也不会用 下面我来用我的理解来教你指针怎么用,还你一个脑子 1.指针的…...
【算法day13】最长公共前缀
最长公共前缀 https://leetcode.cn/problems/longest-common-prefix/submissions/612055945/ 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 class Solution { public:string longestCommonPrefix(vector<string&g…...
Effective C++ 剖析(条款1~9)
目录 条款01 视C为一个语言联邦(C由几部分组成) 条款02 尽量以 const,enum,inline 替换 #define 条款03 尽量使用 const 条款04 确定对象再使用前已经被初始化 条款05 了解c默默编写并调用那些函数 条款06 若不想使用编译器自动生成的函数就该明确拒绝 条款07 为多态基类…...
【Maven-plugin】有多少官方插件?
之前疏理了容器底层原理,现在回归主题,在阅读 next-public时发现 parent 将从多基础插件集成到 parent 仓库中单独维护,数量众多,故在此将所有插件分类整理。以达观其全貌,心中有数。 以下是 Apache Maven 官方维护的核心插件列表…...
Java高频面试之集合-13
hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:为什么 hash 函数能降哈希碰撞? 哈希函数通过以下核心机制有效降低碰撞概率,确保不同输入尽可能映…...
RGV调度算法(三)--遗传算法
1、基于时间窗 https://wenku.baidu.com/view/470e9fd8b4360b4c2e3f5727a5e9856a57122693.html?_wkts_1741880736197&bdQuery%E7%8E%AF%E7%A9%BF%E8%B0%83%E5%BA%A6%E7%AE%97%E6%B3%95 2.2019年MathorCup高校数学建模挑战赛B题 2019-mathorcupB题-环形穿梭机调度模型&a…...
【数学建模】一致矩阵的应用及其在层次分析法(AHP)中的性质
一致矩阵在层次分析法(AHP)中的应用与性质 在层次分析法(AHP)中,一致矩阵是判断矩阵的一种理想状态,它反映了决策者判断的完全合理性和一致性,也就是为了避免决策者认为“A比B重要,B比C重要,但是C又比A重要”的矛盾。…...
YOLOv8轻量化改进——Coordinate Attention注意力机制
现在针对YOLOv8的架构改进越来越多,今天尝试引入了Coordinate Attention注意力机制以改进对小目标物体的检测效率。 yolov8的下载和安装参考我这篇博客: 基于SeaShips数据集的yolov8训练教程_seaships处理成yolov8-CSDN博客 首先我们可以去官网找到CA注…...
php开发转go的学习计划及课程资料信息
以下是为该课程体系整理的配套教材和教程资源清单,包含书籍、视频、官方文档和实战项目资源,帮助你系统化学习: Go语言学习教材推荐(PHP开发者适配版) 一、核心教材(按学习阶段分类) 1. 基础语法阶段(阶段一) 资源类型名称推荐理由链接/获取方式官方教程Go语言之旅交…...
解释 TypeScript 中的枚举(enum),如何使用枚举定义一组常量?
枚举(Enum) 是 TypeScript 中用于定义一组具名常量的核心类型,通过语义化的命名提升代码可读性,同时利用类型检查减少低级错误。 以下从定义方式、使用建议、注意事项三方面深入解析。 一、枚举的定义方式 1. 数字枚举 特性&…...
