图漾相机——C#语言属性设置
文章目录
- 前言
- 1.示例程序说明
- 2.SDK API功能介绍
- 2.1 ListDevice
- 2.2 Open
- 2.3 OpenDeviceByIP
- 2.4 Close
- 2.5 DeviceStreamEnable
- 2.6 DeviceStreamFormatDump
- 2.7 DeviceStreamFormatConfig
- 2.8 DeviceReadCurrentEnumData
- 2.9 DeviceReadCalibData
- 2.10 DeviceStreamOn
- 2.11 DeviceStreamOff
- 2.12 DeviceStreamRead
- 2.13 DeviceStreamDepthRender
- 2.14 DeviceStreamImageDecode
- 2.15 DeviceStreamIRRender
- 2.16 DeviceControlLaserPowerAutoControlEnable
- 2.17 DeviceControlLaserPowerConfig
- 2.18 DeviceColorStreamIspEnable
- 2.19 DeviceStreamMapDepthImageToColorCoordinate
- 2.20 DeviceStreamMapRGBImageToDepthCoordinate
- 2.21 DeviceStreamDoUndistortion
- 2.22 DeviceControlTriggerModeEnable
- 2.23 DeviceControlTriggerModeSendTriggerSignal
- 2.24DeviceStreamMapDepthImageToPoint3D
- 2.25 IPv4StringToInt
- 2.26 DevParamFromInt
- 2.27 DevParamFromEnum
- 2.28 DevParamFromBool
- 2.29 DevParamFromFloat
- 2.30 DeviceSetParameter
- 2.31 DeviceGetParameter
- 2.31.1 Int型
- 2.31.2 Enum型
- 2.31.3 Bool型
- 2.31.4 Float型
- 2.31.5 Array型
- 2.31.6 Struct(roi)型
- 2.32 获取网络相机信息接口get_netinfo
- 2.33 DeviceLoadDefaultParameters
- 2.34 DeviceWriteDefaultParametersFromJSFile
- 2.35 DeviceClearDefaultParameters
- 2.36 DeviceHasStream
- 2.37 DeviceReadRectifiedRotationData
- 2.38 DeviceReadRectifiedIntrData
前言
请参考图漾官网的在线文档:
https://doc.percipio.xyz/cam/latest/getstarted/sdk-csharp-compile.html#windows-csharp-label
而如果不想配置环境,请参考预编译版本例子,下载地址:
https://doc.percipio.xyz/cam/latest/getstarted/compile.html
1.示例程序说明
示例程序存放在开发包根目录 csharp 文件夹内:
1.fetch_frame.cs
:该示例在自由采集模式下采集深度图和彩色图。
2.fetch_IR.cs
:该示例在自由采集模式下采集 IR 图。
3.fetch_isp.cs
:该示例在软件层面对于彩色图像的 ISP 后处理,可将存在偏色的 RAW BAYER 图像处理成正常色彩空间的彩色图。
4.fetch_point3d.cs
:该示例用于采集 3d 点云(未作显示),Log 信息显示点云个数和中心点云坐标(X,Y,Z)。
5.fetch_registration.cs
:该示例用于采集 RGB-D 对齐图像。
6.fetch_trigger.cs
:该示例用于设置相机工作在软触发模式下采集深度图。
7.offline_reconnection.cs
:该例程⽤于处理因环境不稳定等因素造成的数据连接异常,并实现相机离线重连。
8.parameter_settings.cs
:该例程⽤于设置不同数据类型的参数。例程中展⽰了如何关闭 RGB AEC(布尔型参数)、设置曝光时间(整型参数),以及设置图像分辨率和格式(枚举型参数)。
而
pcammls.dll
:动态链接库。
pcammls.exp
:中间⽂件。
pcammls.lib
:依赖库。
pcammls_cs.dll
:动态链接库。
注:前四个文件,均在编译后的camport _multi language/csharp_build_x64/Bin/Release 目录下。
tycam.dll
:动态链接库。
如果不想编译,可下载预编译例程,链接如下:
https://gitee.com/percipioxyz/camport_multi_language_Release
2.SDK API功能介绍
本节主要介绍Csharp SDK中封装的一些接口。
2.1 ListDevice
该接口用于枚举与PC连接的所有相机。
示例如下:
DeviceInfoVector dev_list= cl.ListDevice();
2.2 Open
该接口用于打开指定SN号的相机。
示例如下:
System.IntPtr handle =cl.Open(“207000145055”);
2.3 OpenDeviceByIP
该接口用于打开指定p的相机。
示例如下:
System.IntPtr handle =cl.OpenDeviceByIP("192.168.6.85");
2.4 Close
该接口用于关闭相机
示例如下:
cl.Close(handle);
2.5 DeviceStreamEnable
该接口用于使能数据流,如需使能Color和Depth数据流。
示例如下:
cl.DeviceStreamEnable(handle, PERCIPIO_STREAM_COLOR | PERCIPIO_STREAM_DEPTH);
2.6 DeviceStreamFormatDump
该接口用于列举数据流的分辨率格式。
示例如下:
EnumEntryVector color_fmt_list = cl.DeviceStreamFormatDump(handle, PERCIPIO_STREAM_COLOR);if(color_fmt_list.Count() != 0) { Console.WriteLine(string.Format("color image format list:"));for (int i = 0; i < color_fmt_list.Count(); i++){TY_ENUM_ENTRY fmt = color_fmt_list[i];Console.WriteLine(string.Format("\t{0} -size[{1}x{2}]\t-\t desc:{3}", i, cl.Width(fmt), cl.Height(fmt), fmt.getDesc()));}}
2.7 DeviceStreamFormatConfig
该接口用于配置数据流的分辨率,可与
DeviceStreamFormatDump联合使用。
示例如下:
cl.DeviceStreamFormatConfig(handle, PERCIPIO_STREAM_COLOR, color_fmt_list[0]);
表示配置列表中的第一个分辨率。
2.8 DeviceReadCurrentEnumData
该接口用于读取当前数据流所用的分辨率
示例如下:
TY_ENUM_ENTRY color_enum_desc = new TY_ENUM_ENTRY();
cl.DeviceReadCurrentEnumData(handle, PERCIPIO_STREAM_COLOR, color_enum_desc);
Console.WriteLine($"current color image mode {color_enum_desc.getDesc()}");
2.9 DeviceReadCalibData
该接口用于读取数据流的标定参数。
示例如下:
PercipioCalibData color_calib_data = cl.DeviceReadCalibData(handle, PERCIPIO_STREAM_COLOR);
int color_calib_width = color_calib_data.Width();
int color_calib_height = color_calib_data.Height();
CalibDataVector color_calib_intr = color_calib_data.Intrinsic();
CalibDataVector color_calib_extr = color_calib_data.Extrinsic();
CalibDataVector color_calib_dis = color_calib_data.Distortion();
2.10 DeviceStreamOn
开启数据流,类似于C++中TYStartCapture接口。
示例如下:
cl.DeviceStreamOn(handle);
2.11 DeviceStreamOff
关闭数据流,类似于C++中TYStopCapture接口。
示例如下:
cl.DeviceStreamOff(handle) ;
2.12 DeviceStreamRead
读取相机的传送的数据,类似于C++中TYFetchFrame接口。
示例如下:
FrameVector frames = cl.DeviceStreamRead(handle, 5000);
2.13 DeviceStreamDepthRender
该接口用于解析和渲染深度图像。
示例如下:
image_data depth = new image_data();
cl.DeviceStreamDepthRender(frames[i], depth);
IntPtr pt = depth.buffer.getCPtr();
Bitmap bmp_depth = new Bitmap(depth.width, depth.height, depth.width * 3, PixelFormat.Format24bppRgb, pt);
pictureBox1.Image = (Image)(new Bitmap(bmp_depth, new Size(640, 480))).Clone();
2.14 DeviceStreamImageDecode
该接口用于解析RGB图像。
示例如下:
image_data bgr = new image_data();
cl.DeviceStreamImageDecode(frames[i], bgr);
IntPtr pt = bgr.buffer.getCPtr();
Bitmap bmp_color = new Bitmap(bgr.width, bgr.height, bgr.width * 3, PixelFormat.Format24bppRgb, pt);
pictureBox2.Image = (Image)(new Bitmap(bmp_color, new Size(640, 480))).Clone();
2.15 DeviceStreamIRRender
该接口用于解析ir图像。
示例如下:
image_data rightIR = new image_data();
cl.DeviceStreamIRRender(frames[i], rightIR);
IntPtr pt = rightIR.buffer.getCPtr();
Bitmap rightIR_BMP = new Bitmap(rightIR.width, rightIR.height, 3*rightIR.width, PixelFormat.Format24bppRgb, pt);
pictureBox2.Image = (Image)(new Bitmap(rightIR_BMP, new Size(640, 480))).Clone();
2.16 DeviceControlLaserPowerAutoControlEnable
该接口用于使能/失能 **TY_BOOL_LASER_AUTO_CTRL**属性,用于需要分析ir散斑图时,点亮激光器。
示例如下:
cl.DeviceControlLaserPowerAutoControlEnable(handle, false);
2.17 DeviceControlLaserPowerConfig
该接口用于调整激光器亮度。
示例如下:
cl.DeviceControlLaserPowerConfig(handle, 80);
2.18 DeviceColorStreamIspEnable
该接口用于打开/关闭软件isp。
示例如下:
cl.DeviceColorStreamIspEnable(handle, true);
2.19 DeviceStreamMapDepthImageToColorCoordinate
该接口用于将深度图坐标映射到彩色图,可参考fetch_registration_cs*。
示例如下:
SDK3.6.51此接口有变化,若SDK版本低于3.6.51,以下代码不可用。
cl.DeviceStreamMapDepthImageToColorCoordinate(depth_calib,depth,scale_unit,color_calib,undsitortion_color.width,undsitortion_color.height,registration_depth);
2.20 DeviceStreamMapRGBImageToDepthCoordinate
该接口用于将彩色图坐标映射到深度图。
示例如下:
cl.DeviceStreamMapRGBImageToDepthCoordinate(depth_calib,depth,scale_unit,color_calib, undsitortion_color, registration_color);
SDK3.6.66新增接口。
2.21 DeviceStreamDoUndistortion
该接口用于对图像做畸变校正,可参考fetch_registration_cs。
示例如下:
cl.DeviceStreamDoUndistortion(color_calib, color, undsitortion_color);
2.22 DeviceControlTriggerModeEnable
`该接口用于设置相机的工作模式。·
示例如下:
cl.DeviceControlTriggerModeEnable(handle, 1);
0代表 TY_TRIGGER_MODE_OFF,
1代表 TY_TRIGGER_MODE_SLAVE。
2.23 DeviceControlTriggerModeSendTriggerSignal
该接口用于给相机发送软触发命令,类似于C++中TYSendSoftTrigger。
示例如下:
cl.DeviceControlTriggerModeSendTriggerSignal(handle);
2.24DeviceStreamMapDepthImageToPoint3D
该接口用于将深度图转换成点云数据,可参fetch_point3d_cs。
示例如下:
cl.DeviceStreamMapDepthImageToPoint3D(image, depth_calib_data, f_depth_scale, p3d_list);
2.25 IPv4StringToInt
该接口可以将字符串转换成整型,应用于相机的ip设置。
但是因为没有TYForceDeviceIP接口,所以只把参数写入了相机,不会立刻更新,需要重启相机才可以生效。
示例如下:
int ip = cl.IPv4StringToInt("0.0.0.0");
DevParam param = cl.DevParamFromInt(ip);
cl.DeviceSetParameter(handle, TY_COMPONENT_DEVICE, TY_INT_PERSISTENT_IP, param);
DevParam read_param = cl.DeviceGetParameter(handle, TY_COMPONENT_DEVICE, TY_INT_PERSISTENT_IP);
int read_param_m = read_param.toInt();
Console.WriteLine($"{read_param_m}");int netmask = cl.IPv4StringToInt("0.0.0.0");
DevParam param1 = cl.DevParamFromInt(netmask);
cl.DeviceSetParameter(handle, TY_COMPONENT_DEVICE, TY_INT_PERSISTENT_SUBMASK, param1);
DevParam read_param1 = cl.DeviceGetParameter(handle, TY_COMPONENT_DEVICE, TY_INT_PERSISTENT_SUBMASK);
int read_param_m1 = read_param1.toInt();
Console.WriteLine($"{read_param_m1}");int gateway = cl.IPv4StringToInt("0.0.0.0");
DevParam param2 = cl.DevParamFromInt(gateway);
cl.DeviceSetParameter(handle, TY_COMPONENT_DEVICE, TY_INT_PERSISTENT_GATEWAY, param2);
DevParam read_param2 = cl.DeviceGetParameter(handle, TY_COMPONENT_DEVICE, TY_INT_PERSISTENT_GATEWAY);
int read_param_m2 = read_param2.toInt();
Console.WriteLine($"{read_param_m2}");
2.26 DevParamFromInt
该接口用于定义Int类型的变量,变量数据类型:int。
示例如下:
DevParam param = cl.DevParamFromInt(4096);
2.27 DevParamFromEnum
该接口用于定义Enum类型的变量,变量数据类型:uint。
示例如下:
DevParam param = cl.DevParamFromEnum(TY_DEPTH_QUALITY_BASIC);
2.28 DevParamFromBool
该接口用于定义Bool型变量,用于设置Bool类型的feature。
示例如下:
DevParam param = cl.DevParamFromBool(true);
2.29 DevParamFromFloat
该接口用于定义Float型变量,用于设置Float类型的feature。
示例如下:
DevParam param = cl.DevParamFromFloat(2.2f);
2.30 DeviceSetParameter
该接口用于设置相机参数,可以设置Int、Enum、Bool、Float、Array型参数。
2.31 DeviceGetParameter
该接口用于读取相机参数,可以读取Int、Enum、Bool、Float、Array型参数。
DeviceSetParameter与DeviceGetParameter的示例代码如下:
2.31.1 Int型
DevParam param = cl.DevParamFromInt(1088);
cl.DeviceSetParameter(handle, TY_COMPONENT_RGB_CAM, TY_INT_EXPOSURE_TIME, param);
DevParam read_param = cl.DeviceGetParameter(handle, TY_COMPONENT_RGB_CAM, TY_INT_EXPOSURE_TIME);
int m_read_param = read_param.toInt();
Console.WriteLine($"current value {m_read_param}");
int min = read_param.mMin();
int max = read_param.mMax();
int inc = read_param.mInc();
Console.WriteLine($"min :{min},max:{max},inc:{inc}");
2.31.2 Enum型
DevParam param = cl.DevParamFromEnum(TY_TIME_SYNC_TYPE_HOST);
cl.DeviceSetParameter(handle, TY_COMPONENT_DEVICE, TY_ENUM_TIME_SYNC_TYPE, param);
DevParam read_param = cl.DeviceGetParameter(handle, TY_COMPONENT_DEVICE, TY_ENUM_TIME_SYNC_TYPE);
uint m_read_param = read_param.toEnum();
Console.WriteLine($"current value {m_read_param}");
EnumEntryVector m_read_param2 = read_param.eList();
for (int i = 0; i < m_read_param2.Count(); i++){Console.WriteLine($"{ m_read_param2[i].value}");
}
2.31.3 Bool型
DevParam param = cl.DevParamFromBool(false);
cl.DeviceSetParameter(handle, TY_COMPONENT_RGB_CAM, TY_BOOL_AUTO_EXPOSURE, param);
DevParam status = cl.DeviceGetParameter(handle, TY_COMPONENT_RGB_CAM, TY_BOOL_AUTO_EXPOSURE);
bool m_status = status.toBool();
Console.WriteLine($"current value {m_status}");
2.31.4 Float型
DevParam param = cl.DevParamFromFloat(0.0125f);
cl.DeviceSetParameter(handle, TY_COMPONENT_DEPTH_CAM, TY_FLOAT_SCALE_UNIT, param);
DevParam read_param = cl.DeviceGetParameter(handle, TY_COMPONENT_DEPTH_CAM, TY_FLOAT_SCALE_UNIT);
float m_read_param = read_param.toFloat();
Console.WriteLine($"current value {m_read_param}");
float min = read_param.fMin();
float max = read_param.fMax();
float inc = read_param.fInc();
Console.WriteLine($"min :{min},max:{max},inc:{inc}");
2.31.5 Array型
ByteArrayVector array = new ByteArrayVector { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 14, 0, 0, 0 };DevParam arr = cl.DevParamFromByteArray(array);cl.DeviceSetParameter(handle, TY_COMPONENT_IR_CAM_LEFT, TY_BYTEARRAY_HDR_PARAMETER,arr);DevParam hdr_arry = cl.DeviceGetParameter(handle, TY_COMPONENT_IR_CAM_LEFT, TY_BYTEARRAY_HDR_PARAMETER);ByteArrayVector hdr_arry_1 = hdr_arry.toByteArray();for (int i = 0; i < hdr_arry_1.Count(); i++){Console.Write($",{hdr_arry_1[i]}");}
2.31.6 Struct(roi)型
PercipioAecROI roi = new PercipioAecROI(0, 0, 640, 480);
DevParam param = cl.DevParamFromPercipioAecROI(roi);cl.DeviceSetParameter(handle, TY_COMPONENT_RGB_CAM, TY_STRUCT_AEC_ROI, param);DevParam readParam = cl.DeviceGetParameter(handle, TY_COMPONENT_RGB_CAM, TY_STRUCT_AEC_ROI);
ArrayVector mReadParam = readParam.toArray();
Console.WriteLine("aec roi: " + string.Join(",", mReadParam));
2.32 获取网络相机信息接口get_netinfo
该接口可用于获取打开的网络相机的设备信息,如ip、mac、netmask、gateway。
ip的获取示例如下:
handle = cl.Open(dev_list[select].id);
Console.WriteLine("ip {0}", dev_list[select].get_netinfo().ip());
2.33 DeviceLoadDefaultParameters
该接口用于加载相机的配置文件(custom_block.bin文件中保存的相机参数json文件)。
int err = cl.DeviceLoadDefaultParameters(handle);if (err != TY_STATUS_OK)Console.WriteLine(string.Format("Load default parameters fail: {0}!", err));elseConsole.WriteLine(string.Format("Load default parameters successful!"));
支持加载的参数类型有Int、Float、Enum、Bool、和BYTEARRAY。
2.34 DeviceWriteDefaultParametersFromJSFile
该接口用于将本地json文件中保存的参数内容写入相机custom_block.bin文件。
string filePath = @"C:\Users\G\Desktop\1.json";
cl.DeviceWriteDefaultParametersFromJSFile(handle, filePath);
2.35 DeviceClearDefaultParameters
用于清除相机内存中的内容。
cl.DeviceClearDefaultParameters(handle);
2.36 DeviceHasStream
该接口用于判断相机是否具有特定的数据流,返回值为bool型。
示例:判断相机是否具有color数据流。
bool has_stream = false;
has_stream = cl.DeviceHasStream(handle, PERCIPIO_STREAM_IR_RIGHT);
Console.WriteLine($"has right ir {has_stream}");
2.37 DeviceReadRectifiedRotationData
该接口用于读取V相机的IR rotation。
示例:读取IR rotation数据
PercipioRectifyRotaData LEFTIR_rot_data = cl.DeviceReadRectifiedRotationData(handle, PERCIPIO_STREAM_IR_LEFT);
CalibDataVector LEFTIR_r_data = LEFTIR_rot_data.Data();
Console.WriteLine(string.Format(":IR_rot_data"));
dump_calib_data(LEFTIR_r_data, 3, 3);
2.38 DeviceReadRectifiedIntrData
该接口用于读取V相机的IR rectified intrinsic。
PercipioRectifyIntrData LEFTIR_int_data = cl.DeviceReadRectifiedIntrData(handle, PERCIPIO_STREAM_IR_LEFT);
CalibDataVector LEFTIR_i_data = LEFTIR_int_data.Data();
Console.WriteLine(string.Format(":IR_ntrinsic _data"));
dump_calib_data(LEFTIR_i_data, 3, 3);
相关文章:
图漾相机——C#语言属性设置
文章目录 前言1.示例程序说明2.SDK API功能介绍2.1 ListDevice2.2 Open2.3 OpenDeviceByIP2.4 Close2.5 DeviceStreamEnable2.6 DeviceStreamFormatDump2.7 DeviceStreamFormatConfig2.8 DeviceReadCurrentEnumData2.9 DeviceReadCalibData2.10 DeviceStreamOn2.11 DeviceStrea…...
WPF中viewmodel单例模式
1、单例模式介绍 单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。它常用于需要全局唯一访问点的场景,如配置管理、日志记录、数据库连接等。 2、WPF 中 ViewModel 的单例实现 在 WPF 中&#…...
AI比人脑更强,因为被植入思维模型【36】时光机理论思维
giszz的理解:据说是软银孙正义提出的一种思维模型,他利用同一时间内的地区差,通过引入技术、思维,在同一地区,形成了时间差。所谓商业模式,有时就是打空间差、时间差,信息差。 一、定义 时光机…...
SQL Server:用户权限
创建 & 删除 1. 创建用户命令整理 创建 admin2 用户 -- 在 master 数据库创建登录名 USE master; BEGINCREATE LOGIN [admin2] WITH PASSWORDNCljslrl0620!, DEFAULT_DATABASE[master], CHECK_EXPIRATIONOFF, CHECK_POLICYON; END;-- 在 db03 数据库创建用户并添加到相应…...
Qt之QTextEdit控制文本滚动, 停止滚动, 开始滚动, 鼠标控制滚动
对工作台文本框进行控制。含以下内容。详细说明在源码中可查看 至最底部停止滚动开始滚动 源码分两部分. .h文件和.cpp文件 MyTextEdit.h #ifndef MYTEXTEDIT_H #define MYTEXTEDIT_H#include <QObject> #include <QTextEdit> #include <QScrollBar> #includ…...
策略模式与元数据映射模式融合 JSR 380 验证规范实现枚举范围校验
类文件 Target({ElementType.METHOD,ElementType.FIELD,ElementType.ANNOTATION_TYPE,ElementType.CONSTRUCTOR,ElementType.PARAMETER,ElementType.TYPE_USE }) Retention(RetentionPolicy.RUNTIME) Documented Constraint(validatedBy {InEnumValidator.class, InEnumColle…...
9对象树(3)
目录 创建自定义的类,最主要的目的,是自定义一个析构函数,在析构函数中,完成打印.方便咱们看到最终的自动销毁对象的效果!!! 写完一个函数的声名之后, 按下 altenter, 在按下enter就可以自动的在对应的 cpp 文件中添加函数的定义了 内置类型,析构不会明…...
深入 OpenPDF:高级 PDF 生成与操作技巧
1 引言 1.1 项目背景 在许多企业级应用中,生成和操作 PDF 文档是一个常见的需求。PDF(Portable Document Format)因其格式统一、易于打印和分发而被广泛使用。本文将介绍如何使用 OpenPDF 库在 Java 项目中生成和操作 PDF 文档。 1.2 技术选型理由 OpenPDF:OpenPDF 是一…...
电脑屏幕亮度随心控,在Windows上自由调整屏幕亮度的方法
调整电脑屏幕的亮度对于保护视力和适应不同环境光线条件非常重要。无论是在白天强光下还是夜晚昏暗环境中,合适的屏幕亮度都能让您的眼睛更加舒适。本文中简鹿办公小编将向您介绍几种在 Windows 系统中调整屏幕亮度的方法。 方法一:使用快捷键 大多数笔…...
Navicat导出mysql数据库表结构说明到excel、word,单表导出方式记录
目前只找到一张一张表导出的方式 使用information_schema传入表名查询 字段名根据需要自行删减,一般保留序号、字段名、类型、说明就行 SELECT COLUMNS.ORDINAL_POSITION AS 序号, COLUMNS.COLUMN_NAME AS 字段名, COLUMNS.COLUMN_TYPE AS 类型(长度), COLUMNS.N…...
【C++笔记】C++常见二叉树OJ和拓扑排序
【C笔记】C常见二叉树OJ和拓扑排序 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】C常见二叉树OJ和拓扑排序前言一.二叉树OJ1.1 根据二叉树创建字符串1.2 二叉树的层序遍历1.3 二叉树的最近公共祖先1.4 将二叉搜索…...
ARM-----数据处理、异常处理、模式切换
实列一: 1. 异常向量表 area reset, code, readonly code32 entry area reset, code, readonly:定义一个名为reset的代码区域,只读。 code32:指示编译器生成32位ARM指令。 entry:标记程序的入口点。 2. 程序入口…...
mapbox基础,使用geojson加载line线图层,实现铁路黑白间隔效果
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️line线图层样式二、🍀使用geojson加载…...
Python FastAPI + Celery + RabbitMQ 分布式图片水印处理系统
FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理 首先创建项目结构: c:\Users\Administrator\Desktop\meitu\ ├── app/ │ ├── __init__.py │ ├── main.py │ ├── celery_app.py │ ├── tasks.py │ └── config.py…...
阶段项目:Windows 服务器的组建与管理
项目概述 公司简介 创鑫公司是一家新成立的小型 IT 公司 公司决定组建部署一个小型的企业网络 员工人数不到20人 使用一台独立的 Windows 服务器提供各种网络服务 网络拓扑 设计需求 权限部分 权限部分要求 公司的网络管理员对办公计算机和服务器分别进行独立管理ÿ…...
【408】26考研-王道计算机408
王道408考研全套视频资料: 讲义01.26考研王道计算机【C语言督学营】02.【408领学班】26考研王道计算机B站独家03.26考研王道计算机【组成原理领学班】04.26王道计算机【计算机网络领学班】05.26考研王道计算机【数据结构领学班】06.26王道计算机【操作系统领学班】…...
数据分析问题思考路径
一、思考问题 1. 确认问题 因为背景: 因为5月1日的营业额突然下滑了10%,而历史从未出现过类似的跌幅 我想目的: 我想知道本次下滑的原因以此避免再出现这样的异常情况 现在思路: 现在能想到是原因是节假日和产品环节转化异常 最后感谢: 想请你帮我取数分析一下,…...
vue省市区懒加载,用el-cascader 新增和回显
el-cascader对于懒加载有支持方法,小难点在于回显的时候,由于懒加载第一次只有一层,所以要根据选中id数组一层层的加载。 子组件 <template><el-cascaderref"cascaderRef"v-model"selectedValue":props"…...
从零构建大语言模型全栈开发指南:第三部分:训练与优化技术-3.3.3领域适配案例:医疗文本分类与法律合同生成
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 从零构建大语言模型全栈开发指南-第三部分:训练与优化技术-3.3.3 领域适配案例:医疗文本分类与法律合同生成1. 领域适配的核心挑战与解决方案2. 医疗文本分类:从通用到专业的跃迁2.1 医疗领域适配的技…...
Web网页内嵌 Adobe Pdf Reader 谷歌Chrome在线预览编辑PDF文档
随着数字化办公的普及,PDF文档已成为信息处理的核心载体,虽然桌面端有很多软件可以实现预览编辑PDF文档,而在线在线预览编辑PDF也日益成为一个难题。 作为网页内嵌本地程序的佼佼者——猿大师中间件,之前发布的猿大师办公助手&am…...
Python WebSockets 库详解:从基础到实战
1. 引言 WebSocket 是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等。相比传统的 HTTP 轮询方式,WebSocket 减少了带宽开销,提高了实时性。 在 Python 中ÿ…...
php根据一个数组里面的元素顺序来排序另外一个数组的的顺序
根据arr2的顺序来排序arr $arr [[size_id > 9],[size_id > 1],[size_id > 1],[size_id > 6],[size_id > 6],[size_id > 8],];$arr2 [1,9,6,8];usort($arr, function ($item1, $item2) use ($arr2) {return array_search($item1[size_id], $arr2) - array_s…...
从JVM到分布式锁:高并发架构设计的六把密钥
【300秒速览分布式核心技术栈】 作为十年架构老兵,今天用一张图说透高并发系统的底层逻辑: 🔑 JVM锁:synchronized与AQS构筑单机防线,却难逃分布式困局 🔑 数据库锁:MySQL行锁/间隙锁守住…...
《深度剖析SQL游标:复杂数据处理场景下的智慧抉择》
在数据库领域的广袤天地中,SQL游标宛如一把独特的钥匙,为复杂数据处理场景开启了一扇充满可能的大门。它以一种细腻且精准的方式,穿梭于数据库的记录之间,为众多棘手的数据处理难题提供了解决之道。 复杂数据处理场景的挑战 随着…...
【数据分享】中国3254座水库集水区特征数据集(免费获取)
水库在水循环、碳通量、能量平衡中扮演关键角色,实实在在地影响着我们的生活。其功能和环境影响高度依赖于地理位置、上游流域属性(如地形、气候、土地类型)和水库自身的动态特征(如水位、蒸发量)。但在此之前一直缺乏…...
【蓝桥杯每日一题】4.1
🏝️专栏: 【蓝桥杯备篇】 🌅主页: f狐o狸x "今日秃头刷题,明日荣耀加冕!" 今天我们来练习二分算法 不熟悉二分算法的朋友可以看:【C语言刷怪篇】二分法_编程解决算术问题-CSDN博客 …...
PHY——LAN8720A 代码解析 (三)
文章目录 PHY——LAN8720A 代码解析 (三)PHY 源码解析ETH_PHY_IO_InitETH_PHY_IO_DeInitETH_PHY_IO_WriteRegETH_PHY_IO_ReadRegETH_PHY_IO_GetTick LAN8720 源码解析LAN8720_RegisterBusIOLAN8720_InitLAN8720_DisablePowerDownModeLAN8720_EnablePowerDownMode PHY——LAN872…...
【工具】BioPred一个用于精准医疗中生物标志物分析的 R 软件包
介绍 R 语言包 BioPred 提供了一系列用于精准医疗中的亚组分析和生物标志物分析的工具。它借助极端梯度提升(XGBoost)算法,并结合倾向得分加权和 A 学习方法,帮助优化个体化治疗规则,从而简化亚组识别过程。BioPred 还…...
如何修复 SQL Server 数据库中的恢复挂起状态?
原文:如何修复 SQL Server 数据库中的恢复挂起状态? | w3cschool笔记 当我们想与关系数据库交互时,SQL 就会出现并帮助用户与数据库进行交互。SQL 从高级语言中获取用户的输入,然后访问将代码转换为机器可理解的形式。SQL 确实会…...
C++11QT复习 (十)
基类与派生类之间的转换 **Day7-4 基类与派生类之间的转换****一、问题回顾****二、基类与派生类间的转换****1. 类型适应(Upcasting)****2. 逆向转换(Downcasting)** **三、代码示例****四、派生类间的复制控制****五、总结****1…...
Linux——冯 • 诺依曼体系结构操作系统初识
目录 1. 冯 • 诺依曼体系结构 1.1 冯•诺依曼体系结构推导 1.2 内存提高冯•诺依曼体系结构效率的方法 1.3 理解数据流动 2. 初步认识操作系统 2.1 操作系统的概念 2.2 设计OS的目的 3. 操作系统的管理精髓 1. 冯 • 诺依曼体系结构 1.1 冯•诺依曼体系结构推导 计算…...
JVM 学习计划表(2025 版)
JVM 学习计划表(2025 版) 📚 基础阶段(2 周) 1. JVM 核心概念 JVM 作用与体系结构 理解 JVM 在 Java 跨平台运行中的核心作用,掌握类加载子系统、运行时数据区、执行引擎的交互流程内存结构与数据存…...
arm_mat_init_f32用法 dsp库
arm_mat_init_f32 是 CMSIS DSP 库中的一个函数,用于初始化一个浮点矩阵结构体。以下是其使用方法: 函数原型 c复制 void arm_mat_init_f32(arm_matrix_instance_f32 * S,uint16_t nRows,uint16_t nColumns,float32_t * pData ); 参数说明 S…...
【蓝桥杯14天冲刺课题单】Day3
1. 题目链接:1025 答疑 贪心类型的题目做法很简单,只需要保证局部解最优即可保证整体解最优。 这里的思路就是第i个学生前面的人答疑所用的时间最短,那么他所发送短信的时间节点越小。这道题目有个需要注意的点是:要先将前i-1个…...
基于开源AI大模型与S2B2C模式的线下服务型门店增长策略研究——以AI智能名片与小程序源码技术为核心
摘要 在传统零售行业中,商品零售可通过无限流量实现销量增长,但服务型门店(如餐饮、医疗、美容等)因受限于地理位置、服务承载能力及非标化服务特性,需从“流量驱动”转向“复购驱动”增长模式。本研究以“开源AI大…...
批量修改图像命名
打开存放图片的文件 ctrA全选 找到功能栏上的三个点的位置,点击选择复制路径 打开一个Excel表格 将复制的图片路径复制到Excel表格中 选中刚复制的图片路径,点击选择数据->分列->分列 在打开的窗口中选中分隔符号,在点击下一步 选中…...
linux-- 0. C语言过、Java半静对、Python纯动和C++对+C
学习目标: java,CPYTHONC 学习内容: java,CPYTHONC 目录 学习目标: 学习内容: java 纯解释型语言(如 Python)的对比 C语言与Java的核心区别 java,C PYTHON C 学习时间: 学习产出…...
程序化广告行业(50/89):Cookie映射技术深度剖析
程序化广告行业(50/89):Cookie映射技术深度剖析 大家好!一直以来,我都希望能和大家一起深入探索程序化广告行业,共同学习进步。在之前的分享中,我们已经了解了程序化广告的很多关键内容&#x…...
大语言模型智体的综述:方法论、应用和挑战(下)
25年3月来自北京大学、UIC、广东大亚湾大学、中科院计算机网络信息中心、新加坡南阳理工、UCLA、西雅图华盛顿大学、北京外经贸大学、乔治亚理工和腾讯优图的论文“Large Language Model Agent: A Survey on Methodology, Applications and Challenges”。 智体时代已经到来&a…...
【操作系统】Linux进程管理和调试
在 Linux 中,可以通过以下方法查看 PID(进程ID)对应的进程名称和详细信息: 1. 使用 ps 命令(最直接) ps -p <PID> -o pid,comm,cmd示例: ps -p 1234 -o pid,comm,cmd输出: P…...
C++---RAII模式
一、RAII模式概述 1. 定义 RAII(Resource Acquisition Is Initialization)即资源获取即初始化,是C中用于管理资源生命周期的一种重要编程模式。其核心在于将资源的获取和释放操作与对象的生命周期紧密绑定。当对象被创建时,资源…...
Clion刷题攻略-配置Cmake
使用Clion刷题,在一个项目中创建多个main函数,每一个文件对应一道题目,将Clion作为题目管理系统使用,并且cpp文件允许使用中文名,exe文件统一输出到runtime目录,防止污染根目录,CmakeLists文件如…...
DEBUG:file命令
file 命令详解 file 是 Linux/Unix 系统中用于检测文件类型的实用工具。它通过检查文件的**魔数(magic number)**和内容结构来判断文件类型,而不是依赖文件扩展名。 1. 基本语法 file [选项] 文件名... 常用选项 选项说明-b (--brief)简洁…...
hackmyvn-casino
arp-scan -l nmap -sS -v 192.168.255.205 目录扫描 dirsearch -u http://192.168.255.205/ -e * gobuster dir -u http://192.168.255.205 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php -b 301,401,403,404 80端口 随便注册一个账号 玩游戏时的…...
Elasticsearch笔记
官网 https://www.elastic.co/docs 简介 Elasticsearch 是一个分布式、开源的搜索引擎,专门用于处理大规模的数据搜索和分析。它基于 Apache Lucene 构建,具有实时搜索、分布式计算和高可扩展性,广泛用于 全文检索、日志分析、监控数据分析…...
在Windows下使用Docker部署Nacos注册中心(基于MySQL容器)
需要两个容器Nacos容器和MySQL容器,MySQL容器专注数据存储,Nacos容器专注服务发现/配置管理 准备工作 确保已安装Docker Desktop for Windows确保已启用WSL 2(推荐)或Hyper-V确保Docker服务正在运行 部署步骤 1. 拉取所需镜像 # 拉取MySQL镜像(这里…...
去中心化自治组织(DAO):革新未来治理的下一站
去中心化自治组织(DAO):革新未来治理的下一站 引言 去中心化自治组织(DAO)的诞生,像是互联网时代的一道新曙光。它打破了传统组织的等级壁垒,以去中心化和智能合约为核心,让社区成员能够直接参与决策并共享收益。从NFT社区到投资基金,DAO的应用场景正以前所未有的速…...
ideal自动生成类图的方法
在 IntelliJ IDEA 中,“**在项目资源管理器中选择以下类**” 是指通过 **项目资源管理器(Project Tool Window)** 找到并选中你需要生成类图的类文件(如 .java 文件),然后通过右键菜单或快捷键操作生成类图…...
爬虫获取1688关键字搜索接口的实战指南
在当今电商行业竞争激烈的环境下,数据的重要性不言而喻。1688作为国内领先的B2B电商平台,拥有海量的商品信息,这些数据对于商家的市场分析、选品决策、价格策略制定等都有着重要的价值。本文将详细介绍如何通过爬虫技术获取1688关键字搜索接口…...
视频设备轨迹回放平台EasyCVR渡口码头智能监控系统方案,确保港口安全稳定运行
一、背景 近年来,随着水上交通运输业的快速发展,辖区内渡口码头数量持续增加,船舶运营规模不断扩大,各类船舶活动频繁,给水上交通安全监管带来了巨大挑战。近期发生的多起村民使用无证木船捕鱼导致的伤亡事故…...