- 博客(85)
- 资源 (20)
- 收藏
- 关注
原创 将PLY点云文件转换为Unreal Engine兼容格式:从原理到实践
本文介绍了将标准PLY点云文件转换为Unreal Engine兼容格式的Python实现方法。针对Unreal几何着色器对顶点数据的特殊要求(62个浮点数属性),脚本通过解析原始PLY文件、重组顶点数据并生成符合Unreal格式的新文件,解决了点云渲染中的格式兼容性问题。核心步骤包括二进制数据处理、属性映射转换和文件头重建,最终输出包含位置、法向量、光照参数等完整属性的PLY文件。该转换方法为在Unreal Engine中实现高质量点云渲染提供了基础数据支持,适用于数字孪生、三维重建等应用场景。
2025-07-02 11:05:07
1551
原创 遇到 ASP.NET Core 发布后接口 404 的深坑:原来是 PublishTrimmed 惹的祸!
摘要:本文记录了一个ASP.NET Core Web API项目在发布后接口404问题的排查过程。开发阶段接口正常,但发布后无法访问。经过深入分析,发现是由于启用PublishTrimmed时,控制器类被IL Linker误当作未使用代码裁剪掉所致。文章提供了三种解决方案:禁用裁剪(推荐)、使用DynamicDependency保留控制器、或通过link.xml配置保留特定类。最终强调在.NET发布优化机制下需特别注意反射依赖问题,避免控制器等关键组件被误删,为开发者提供了实用的发布配置建议。(149字)
2025-06-23 20:22:19
812
原创 Revit BIM 模型批量转换为 Datasmith 格式教程
本文介绍了如何开发一个自动化插件,将 Revit BIM 模型批量转换为 Datasmith 格式,以便导入虚幻引擎(UE)。通过 Revit API 调用 Datasmith 插件的导出命令,结合文件遍历算法,实现高效批量转换。开发环境需安装 Revit 2018、Datasmith for Revit 插件,并配置 Visual Studio 2022。插件核心代码包括选择输入输出文件夹、获取 Revit 文件、批量导出等功能,最终显示转换结果。该插件显著提升了 Revit 模型批量转换的效率,解决了手
2025-05-20 11:38:37
1221
原创 异构系统融合技术
异构系统融合技术作为现代计算和信息技术领域的重要发展方向,致力于解决传统单一系统无法满足的复杂应用需求。它通过整合不同类型、架构和技术的计算资源、存储资源和网络资源,构建出一个统一且高效的系统环境。这种技术的核心优势在于多样性整合和资源优化。它能够充分利用各种硬件设备的特性,如将计算密集型任务分配给GPU、内存密集型任务分配给大容量DRAM,从而提高系统的性能和效率。
2024-08-01 15:45:17
2884
原创 基于内地城市生活垃圾收运场景的路线规划算法
本论文提出了一种基于混合遗传算法(GA)和模拟退火算法(SA)的创新路线规划方法,旨在优化内地城市的生活垃圾收集效率。算法结合了遗传算法的全局搜索能力和模拟退火算法的局部搜索能力,以应对复杂的城市环境和动态的垃圾收集需求。通过多次实验和对比分析,证明了该算法在减少收集成本、提高资源利用效率方面的有效性和实用性。
2024-08-01 15:39:09
1690
原创 无人机两次飞行的图像数据配准与几何校正方法研究
本文研究了利用无人机获取的两次飞行的图像数据进行配准与几何校正的方法。无人机航拍技术在地理信息获取和空间数据应用中具有重要意义,但由于飞行条件、摄影设备和环境等因素的影响,同一区域的不同飞行任务所采集的图像数据存在位置偏差和几何畸变。为了将这些数据有效地对齐并提高数据的准确性和可用性,本文探讨了基于特征点匹配、变换模型拟合和几何校正的配准方法,并通过实验验证了各种方法的效果和适用性。
2024-03-01 13:00:19
2648
原创 GPS历史轨迹优化算法的研究与实现
本研究提出了一种综合利用数据清洗、密度聚类、卡尔曼滤波和地图匹配的新算法,命名为“DSKF-Match”。该算法旨在处理GPS轨迹数据,通过清洗、聚类、平滑和匹配等步骤,提高数据的质量和准确性。首先,算法利用时间窗口法进行数据清洗,去除噪声和异常点,以减少数据中的不确定性。随后,采用密度聚类算法将轨迹数据划分为不同的运动模式,以便更好地理解行车行为和路线规律。接着,对每个运动模式的轨迹数据应用卡尔曼滤波算法进行平滑处理,去除数据中的噪声,提高数据的精确性和连续性。
2024-03-01 12:01:37
2625
1
原创 PaddleSpeech的TTSAndroid编译armv7版本
b.修改com/baidu/paddle/lite/demo/tts/Predictor.java及对应的调用地方,主要是数据类型由float改为long。c.修改Paddle-Lite/lite/api/android/jni/native/tensor_jni.cc,新增实现。b.修改Paddle-Lite/lite/api/android/jni/native/tensor_jni.h,新增声明。a.修改代码Paddle-Lite/lite/kernels/arm/slice_compute.cc。
2023-12-13 09:18:59
1549
2
原创 NLP基本知识
工作原理:TextRank 使用基于图的算法来提取文本中最重要的句子或短语,这些句子或短语组成了文本的摘要。它主要基于共现关系计算节点(句子或短语)的权重,然后选择具有高权重的节点来构建摘要。BERT 是一种深度学习模型,可以学习文本的语义表示。智能摘要通常通过微调预训练的BERT模型来生成,BERT 在理解文本语义方面具有卓越的性能。它不仅可以提取关键信息,还可以生成更具语义的摘要。性能:TextRank 是一种传统的文本处理方法,性能通常取决于共现关系的质量和权重计算的准确性。
2023-11-23 10:50:19
1448
原创 文件差分服务设计
hdiffpatch的基本原理是将文件划分成块,找到相匹配的块,计算不匹配块之间的差异,将差异数据编码成差异文件,然后使用差异文件来应用差异数据以生成新文件。通常用于比较原始文件和新文件,生成差异文件,然后将差异文件应用到原始文件,生成新文件。通过这一流程,我们能够充分利用 hdiffpatch 差异算法,将升级包的大小减小,降低了升级过程中的带宽需求,同时保持了升级的效率。这种灵活性将简化方案的部署和维护。:hdiffpatch 也将文件划分成块,找到匹配的块,计算不匹配块之间的差异,然后编码差异文件。
2023-11-23 10:47:40
2119
1
原创 Mysql加密功能
请注意,启用整个数据库加密将对性能产生一定的影响,因为加密和解密操作需要额外的计算资源。因此,在启用加密之前,需要仔细评估性能需求,并确保适当的密钥管理和访问控制以保护加密数据的安全性。使用InnoDB引擎的加密存储功能,您可以确保数据在磁盘上以加密形式存储,从而增加了数据的安全性。:InnoDB引擎还支持整个数据库的加密,这将导致整个数据库中的表都以加密形式存储。总之,查询条件通常不受整个数据库级别加密的直接影响,但在使用加密时需要仔细考虑性能和密钥管理等方面的问题。如果您要迁移现有的数据库,可以使用。
2023-09-08 12:07:37
1437
原创 JavaCV神技:0.1% CPU占用,高效处理实时RTSP视频流
通过使用 JavaCV 的 FFmpegFrameGrabber,我们可以在实时视频处理中轻松实现只抓取关键帧的功能。这对于降低计算开销、提高性能和降低延迟非常有益。根据实际需求,您可以根据示例代码进行调整和优化,以获得最佳的效果。无论是监控系统还是流媒体应用,只抓取关键帧都是一个强大的工具,可以让您更有效地处理视频流。
2023-08-10 14:57:14
4645
原创 在python中使用nvidia的VPF库对RTSP流进行硬解码并使用opencv进行显示
随着视频处理技术的不断发展,越来越多的应用需要对视频流进行解码和处理。在本文中,我们将介绍一个基于Python的多线程应用程序,该应用程序可以解码并处理多个RTSP视频流,同时利用GPU加速,以提高处理速度。这个应用程序使用了一些关键的Python库和工具,包括PyNvCodec、OpenCV、和PyCUDA等。它充分利用了现代GPU的计算能力,实现了高效的视频解码和处理。在这个应用程序中,我们使用了Python的库来实现多线程解码。
2023-08-08 19:57:35
6269
5
原创 windows11编译VideoProcessingFramework库
基于windows11环境编译英伟达GPU的python-vpf硬编解码库
2023-08-01 18:43:38
1312
原创 实现视频监控场景下的抽烟目标检测:改进 YOLOv5 的关键方法与代码实现
通过引入头部关注机制,我们让模型更专注于人体头部区域,使其对抽烟行为的感知能力得到了显著提升,有效地降低了误检率,提高了目标检测的准确性。在这个丰富的1600张标注抽烟数据集上,我们的改进版 YOLOv5展现出了强大的学习和泛化能力,充分证明了其在抽烟检测任务中的优越性。在抽烟的人检测任务中,通过改进注意力机制,让模型更专注于人体头部区域,可以增强模型对抽烟行为的检测能力,因为头部通常是进行抽烟动作的重要区域。经过精心的训练和优化,改进后的 YOLOv5 在抽烟检测任务中取得了惊人的成绩。
2023-07-18 16:40:32
1181
1
原创 使用Python将yolov5的推理保存的txt文本格式转换为XML格式
目标检测是计算机视觉中的基础任务,可以让机器在图像中识别和定位物体。为了高效地标注和存储目标检测数据,我们使用了各种不同的数据格式。其中一种常用的格式是XML结构,通常用于VOC数据集格式。在本文中,我们将探讨一个Python脚本,它可以将目标检测标注从特定的文本文件格式转换为XML格式。
2023-07-18 15:48:13
1502
1
原创 使用SRS构建和配置实时流媒体服务器,进行推流和播放测试
简介:实时流媒体服务在现代网络应用中扮演着至关重要的角色,它允许用户实时地推送和播放音视频内容。在本文中,我们将介绍如何使用SRS(Simple Realtime Server)构建和配置实时流媒体服务器,并进行推流和播放测试。
2023-07-18 15:39:54
1813
原创 Confluent.Kafka 在.net core下的坑
centos 下运行报错:Unhandled Exception: System.DllNotFoundException: Failed to load the librdkafka native library. at Confluent.Kafka.Impl.LibRdKafka.Initialize(String userSpecifiedPath) in C:\Users\sugar...
2018-03-30 10:31:25
8515
7
原创 access时分秒
access 时间查询:日期查询:where time>#2016-01-01#精确到时分秒:where time>#2016-01-01 00:00:00# 此方式会有问题建议使用精确到时分秒:where time>cdate(2016-01-01 00:00:00)
2016-08-24 12:37:13
2001
原创 Zookeeper .Net客户端代码
通过C#代码使用zookeeperZookeeper的使用主要是通过创建其Nuget ZooKeeperNet包下的Zookeeper实例,并且调用其接口方法进行的,主要的操作就是对znode的增删改操作,监听znode的变化以及处理。Java代码usingSystem;usingSystem.Collect
2016-04-08 09:06:10
743
转载 ZooKeeper典型应用场景一览
ZooKeeper典型应用场景一览数据发布与订阅(配置中心)发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。应用中用到的一些配置信息放到ZK上进行集中管理。这类场景通常是这样:应用在启动的时候
2016-04-08 09:05:10
384
原创 c# ora-00177
当使用.NET 4.0自带的System.Data.OracleClient去访问ORACLE数据库时,使用如下连接字符串会报ora-00177问题。Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.39)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME = lnorcl)));Us
2016-03-16 13:27:45
547
原创 c#中抽象类和接口的相同点跟区别
用了几年C#,总结一下抽象类和接口的相同点与不同点。看了别人写的感觉很全面: 相同点: (1) 都可以被继承 (2) 都不能被实例化 (3) 都可以包含方法声明 (4) 派生类必须实现未实现的方法 区 别: (1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。 (2) 抽象类是一
2015-09-09 12:45:07
2247
原创 c# RTSP播放器
ONVIF ODM在onvif领域里名气很大,是一款开源的NVC实现。其实现采用了c# c++ F#。项目很大,也很复杂。最近研究了一下,自己调用其类库写了一个c#版的RTSP的播放器。难度不大。但要明白其中原理,还需要多研究研究ODM源码。效果图:
2015-08-28 10:30:03
11184
1
原创 c#录制屏幕 超级简单!
使用Aforge.net对屏幕进行截图,并将每一张BITMAP写到AVI文件中。超级简单!AFORGE.NET的ScreenCaptureStream性能有限,目前测试基本能达到10帧左右。设置AVIWriter的FrameRate为8帧,但是播放起来像快进一样,目前还没有找到原因。暂时采取一个New Frame到达时,多写几次的方法进行规避。有知道如何处理的请联系我。详细代码
2015-08-27 17:00:13
16213
9
原创 C#屏笔 GDI+屏笔 桌面画图(二)
本次屏笔的实现采用隐藏Form的方式实现,ALT+Q激活屏笔,再次点击取消。激活屏笔时,先cpoy屏幕内容到bitmap,然后将其显示到picturebox,之后最大化Form,然后再用Graphics记录鼠标轨迹画图。使用钩子捕捉键盘和鼠标全局事件。全局键盘鼠标钩子请参考http://blog.csdn.net/q317379184/article/details/47979309使
2015-08-26 11:41:32
3216
原创 GDI+桌面画图
很简陋的一共桌面画图工具。在桌面画图主要需要用到GetDC这个API,该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以在GDI函数中使用该句柄来在设备上下文环境中绘图。通过该函数是为了获取桌面的绘图图面。然后用钩子勾住鼠标全局事件,进行画线。效果很差,其他Paint消息会将自己画的线重绘掉。看了一些方案说是需要创建一共全屏窗体,然后重绘桌面背景到窗体。再窗体
2015-08-25 17:08:43
2464
翻译 C#键盘鼠标钩子
亲测可用 /* * 老外写的一个C#钩子类,写的非常好。 * 捕获键盘鼠标所有事件 * 模拟鼠标和模拟键盘操作 * * */ /// /// 鼠标和键盘钩子的抽象类 /// public abstract class GlobalHook { #region Wind
2015-08-25 16:41:12
5306
1
原创 GDI+屏幕截图(二)
上一篇讲了如何写一个很low的截屏工具,这次进行稍微美化,对未选择区域的图片加上透明度,效果如下图。 主要用到的的代码如下: /// 设置图片的透明度 /// /// 原图 /// 透明度0-255 /// private Bitmap SetPictureAl
2015-08-25 16:26:00
2580
转载 GDI+什么是ColorMatrix
ColorMatrix(色彩矩阵),是GDI+里用来调整图片色彩的矩阵。 什么是矩阵,说白了就是C#里的二维数组。 那么这个矩阵调整色彩的原理是什么,他是怎么来调整色彩的呢?这个要从线性代数里的矩阵相乘说起。 以下段落学过线性代数的读者可以跳过,这里我用自己的理解来描述下矩阵相乘的算法和结果。在线性代数里,两个矩阵相乘,是这样计算的: A矩阵乘以B矩阵,那么新生成一个矩阵C
2015-08-25 16:14:32
1220
原创 GDI+屏幕截图
很简陋的一个屏幕截图工具,支持任意尺寸。FullFrom是一个子窗体,当点击主窗体的截图按钮时,先从GDI+获取整个屏幕截图,传递 给FullForm,然后再将FullForm全屏最大化显示。目前只支持单屏幕,多个屏幕未考虑。代码写的比较乱,注重功能实现。后续可以用钩子捕获全局系统按键。如ctrl+alt+a,捕获这三个按键进行截图。public partial class Fu
2015-08-24 15:19:35
2628
原创 GDI+画电子印章
使用GDI+画一个电子印章,初次使用,请多多指教。以下是Form代码,大家应该都会用,项目文件就不上传了。 public partial class Form1 : Form { public Form1() { InitializeComponent(); this.SetStyle(Control
2015-08-21 16:01:04
1567
原创 爬虫
今天看了下别写的一共简单的爬虫工具。大概原理就是基于的一个root url利用httpwebrequest去抓取html内容,提前其中的链接(剔除了图片、css、js等),逐一保存下来。不过这个只适用于一些门户网站,有些网站的登录页面没有任何链接。需要登陆后才能浏览。所以权限这一块也很复杂,对于不同的网站需要不同的实现。目前来看使用工厂方法是够用了。当然,光是做这个还是不够的。这也紧紧
2015-08-20 16:15:29
607
原创 Equals和==比较
总结一下: 对于字符串来说,两个比较的都是对象的值,并且是等效的,这是因为MS重写了==运算符和Equals方法所致 对于非字符串的其他引用类型(非匿名类型)两个比较的都是对象的引用,并且是等效的; 对于匿名类型,Equal()方法比较的是类型的状态,如果两个类型的属性和值都相同,就返回true;==比较的是对象的引用。
2015-08-20 14:34:14
658
转载 var
在.NET 3.0后微软引入了隐式类型var,编译器可以自动判断变量的类型,通过var这个隐式类型,可以提高开发人员的开发效率,很多时候可以不考虑对象的类型,编译器会自动帮我们判断使用隐式类型和使用其他显式类型的效果是一样的,只是在编译的过程IDE自动判断类型,所以很多时候我们不用考虑变量的具体类型.其实也就是弱化类型的定义VAR可代替任何类型编译器会根据上下文来判断你到底是想
2015-08-20 14:13:22
693
原创 c#反射
public class Program { static string str="困"; static string str2 { get { return str; } set { str = value; } } static void StaticWrit
2015-08-20 10:35:21
478
原创 c#索引器
索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员。(当然高级的应用还有很多,比如说可以把数组通过索引器映射出去等等) 鸡群3 jiqun3 =
2015-08-19 09:52:49
473
转载 Struct与Class的区别
1,class 是引用类型,structs是值类型2,当你实例化一个class,它将创建在堆上。而你实例化一个struct,它将创建在栈上3,当我们将class作为参数传给一个方法,我们传递的是一个引用。struct传递的是值而非引用。4,Class 可以有明显的无参数构造器,但是Struct不可以5,类使用前必须new关键字实例化,Struct不需要6
2015-08-18 20:16:24
1032
shell编程实例Bourne Shell及shell编程
2011-08-22
基于ncnn的yolov8目标检测demo
2024-04-11
基于龙蜥(AnolisOS7.9)编译好的ZLMediaKit可执行文件
2023-12-13
基于c语言的玫瑰花代码
2023-09-25
java一机一密实现代码
2023-09-25
一种基于递归的搜索策略的旅行商问题回溯法
2023-08-08
ZED-SDK-Ubuntu22-cuda11.8-v4.0.5.zstd.run
2023-08-04
torch-1.13.0a0+d0d6b1f2.nv22.10-cp38-cp38-linux-aarch64.whl
2023-08-04
基于windows11编译nvidia的VideoProcessingFramework库
2023-08-01
基于yolov8的目标检测、实例分割、人体姿态跟踪检测
2023-07-18
12306订票助手火车侠
2012-09-19
RTSP Directshow filter
2014-09-02
Base64ToHexString.exe
2019-10-29
12306火车票订票助手V1.0
2012-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅