- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 Qt调用Miniconda的python方法
初始化 Python 环境,并在程序中设置 PythonHome 环境变量,如何知道PythonHome环境变量需要设置哪些路径呢?在配置好pro文件编译qt工程时遇到如下图所示的错误,原因是object中定义的slots与qt的slots定义冲突,解决方法是在头文件python.h声明前先取消slots宏定义,包含python.h后再重新define,可解决这个问题。下面的代码演示了如何设置应用程序python脚本路径,导入Python模块,获取模块中定义的函数,设置函数参数及调用函数。
2025-03-22 11:47:52
1089
原创 深度学习训练方法汇总
建议保留原代码注释后续方便改回。1) ./ultralytics/cfg/models/v8/yolov8.yaml(也可是你自己修改的yaml文件)文件加 ch:1.7)(根据原题主继续补充避免val报错):修改ultralytics/models/yolo/detect/val.py文件。8)(防止predictor报错):修改ultralytics/engine/predictor.py。6) 修改 /ultralytics/engine/predictor.py文件。设置通道为单通道图像。
2025-03-17 08:10:51
372
原创 RK3588的YoloV8模型的量化优化技术
需要结合训练时的伪量化步骤,比如在TensorFlow中插入伪量化节点,然后导出模型,再使用RKNN-Toolkit2进行转换,这时候可能不需要再做量化,或者需要调整参数。1、缘由:将YOLOV8训练出的模型pt转换为onnx后再通过一定数量的样本图像进行量化,虽然可通过增加量化样本图像的方法得到一定的改善,但是增加太多的样本数量出现量化不能完成的现象(100多张),会发现识别精度也很难上去。也就是在训练过程中就考虑量化带来的影响,这样模型在训练时会模拟量化过程,让模型在量化后精度损失更小。
2025-03-02 10:52:53
626
原创 如何在Windows环境下安装Docker
在上图中输入指令wsl --update命令。安装适用于Linux的Windows子系统。安装成功后如下图所示。接着输入指令wsl --install进行安装。选中上图中的两项点击确定。选择windows版本Docker Desktop for Windows-x86_64。,可直接在Windows上运行各种Linux工具,实用工具、应用程序和工作流。在上图中,点击“启用或关闭Windows功能”如下图所示。打开控制面板如上图所示,点击“程序和功能”,如下图所示。下载后对其进行安装,即可。
2025-03-01 19:04:51
248
原创 QT协同并行处理方法
合并的话,可能需要将各个处理后的QImage拼接成一个大的QImage,或者在UI中使用多个QLabel来分别显示每个处理后的图像。如果用户希望合并成一个图像,可能需要计算布局,比如网格排列,然后逐个绘制到大的QPixmap上,再显示在QLabel或QGraphicsView中。合并显示可能需要将多个处理后的图像排列在一个大图上,或者分多个视图显示。Qt的信号槽机制可以在这里派上用场,每个处理任务完成后发送信号,携带处理后的图像,然后在主线程的槽函数中收集这些结果,等所有结果都到达后再进行合并和显示。
2025-02-25 10:30:18
285
原创 FFMPEG编码容错处理解决办法之途径----升级库文件
在qt开发环境下接收网络数据,调用ffmpeg解码播放视频,出现闪屏现象,具体现象可以使用操作系统自带的ffplay播放器播放原始视频流可复现;而使用操作系统自带的mpv播放器播放视频则不会出现闪屏;闪屏时会报Could not find ref with POC xx错误(由于是无线通信该错误无法避免)要求能达到mpv的播放效果就行,具体实现方式不限。当只使,但生成的视频流较长;而加入 P B 帧后,会使编码时间变长,但生成的视频流长度只有纯 I 帧编码的 25%。因此,P B 帧的加入本质上是。
2025-02-22 21:26:49
1079
原创 Qt开发常见问题解决方法
找到被隔离的程序点击“恢复”探测如下界面:并选择红色方框,保证程序恢复到原来的位置,并不在被隔离,这样程序就可以正常运行了。答:是不是被杀毒软件杀了,关键它还没有任何提示。打开360安全卫士,点击如下界面红色区域。1、Qt程序在开发环境启动时出现"启动程序失败,路径或者权限错误"?点击上图的已隔离14项,弹出如下图所示。
2025-02-09 11:06:27
223
原创 Windows 10 YOLOV8 TensorRT C++如何部署?
可选择编译Yolov8项目,可以生成tensorRT的文件.engine,并可进行推流。在YoloV8的训练环境下,将pt模型转换为wts模型:运行gen_wts.py可生成yolov8s.wts.:首先先安装VS2019后再安装CUDA,可有效避免在VS2019环境中看不到CUDA Runtime模板。TensorRT项目中的CMakelist.txt分别配置自己的OpenCV结合tensorRT的地址。打开CMake软件,完成TensorRT项目的源码位置及生成VS2019项目的位置,如下图所示。
2025-02-08 09:32:16
481
原创 人工智能模型DeepSeek-V3和DeepSeek-R1的区别
以低成本和高通用性见长,适合广泛的应用场景;通过强化学习实现了专业领域的推理突破,适合需要深度推理和复杂逻辑分析的任务。两者的互补性体现了DeepSeek在技术路径上的多样性,既满足通用需求,又推动前沿推理能力的发展。
2025-02-05 09:34:08
13497
原创 海思ISP开发说明
合成的原则是择优选取,即对于比较亮的区域,采用短帧数据,而对于比较暗的区域,采用长帧数据。每个像素结构 中的光电二极管的尺寸、掺杂浓度、生产过程中的沾污以及MOS场效应管的参数的偏 差等都会造成像素输出信号的变化,由于这些偏差造成的噪声对于给定的单个像素它 是固定的,这种噪声就是固定模式噪声FPN(Fixed Pattern Noise)。Sharpen模块:用于增强图像的清晰度,包括调节图像边缘的锐化属性和增强图像的细节和纹理的清晰度,同时还能分别独立控制图像的带方向的边缘和无方向的细节纹理的锐化强度。
2025-02-02 22:34:51
1107
原创 基于Ubuntu交叉编译ZLMediaKit
ZLMediaKit是一款开源的流媒体服务器,支持RTSP、RTMP、HTTP、HLS、MPEG-TS等多种协议,可以实现音视频的推流、转码、录制、播放等功能。它采用C++语言编写,具有高性能、低延迟、易扩展等特点,适用于直播、视频会议、监控等场景。菜单栏的“编辑”->选择“虚拟网络编辑器”,在弹出的窗口中,点击桥接模式的VMnet0,然后在下方选择“桥接模式”,网卡下拉栏,选择你目前在用的wifi网卡就行。Release:用于构建的优化的库或可执行文件,不包含调试符号。1、设置WIFI硬件无线网卡上网。
2025-01-26 22:05:35
815
原创 UDP 广播组播点播的区别及联系
组播地址是分类编址的IPv4地址中的D类地址,又叫多播地址,他的前四位必须是1110,所以网络地址的二进制取值范围是11100000~11101111对应的十进制为 224~~239。说明:接收端的代码,整体的思路就是创建socket->加入组播(本地地址和组播地址赋值给mreq)->:离开组播组使用setsockopt设置IP_DROP_MEMBERSHIP选项。->接收数据(注意,接收的ip和port为组播ip,port)。为用户可用的组播地址(临时组地址),全网范围内有效。
2025-01-23 07:34:14
1420
1
原创 海思Hi3516CV610 -----芯片说明
●支持CBR/VBR/ABR/AVBR/CVBR/QVBR/FIXQP/QP MAP 等多种码率控制模式。说明 根据功能不同,将Hi3516CV610分为00B/10B/20B/00S/20S型号。●IVE2.5 升级算子,支持运动侦测,周界防范跟踪,透视变换,视频诊断及多种智能分析应用。●智能编码 2.0,像素升级,存储不加量,4MP30产品一天存储 5GB。●支持MIPI/LVDS/Sub-LVDS/HiSPi多种接口。DDR:内置DDR3/3L 2133Mbps 1Gb。
2025-01-21 23:31:11
1626
1
原创 Halcon 3D基础知识及常用函数
参数说明:visualize_object_model_3d(::WindowHandle,ObjectModel3D,CamParam,PoseIn,GenParamName,GenParamValue,Title,Label,Information:PoseOut)输出为一个包含7个元素的pose,通常表示为[Tx,Ty,Tz,Rx,Ry,Rz,Order],其中Tx,Ty,Tz为平移分量,Rx,Ry,Rz为旋转分量,Order为旋转顺序。
2025-01-20 09:21:52
837
原创 海思MPP之视频处理子系统模块VPSS
组(GROUP):VPSS对用户提供组的概念,各GROUP分时复用VPSS硬件,硬件依次处理各个组提交的任务。通道(CHANNEL): 通道分为物理通道和扩展通道两种。VPSS硬件提供多个物理通道,每个通道具有缩放、裁剪等功能。扩展通道具备裁剪、缩放功能,它通过绑定物理通道,将物理通道输出作为自己的输入,把图像裁剪、缩放成用户设置的目标分辨率输出。PIPE:VPSS组的管道,取值只能为0。FRC:帧率控制,分为组帧率控制和通道帧率控制两种。组帧率控制用于控制各GROUP对输入图像的处理,通道帧率控制用于控制
2025-01-12 08:10:41
897
原创 海思SS928平台H265编码例程解析4---函数功能分析
函数:sample_comm_get_stream_from_one_channl(sample_comm_venc_stream_proc_info *来确定需要保存哪种类型的文件(JPEG 或 HEIF),然后做相应处理。功能:在一个通信过程中处理来自VENC(Video Encoder)的输入数据。: 可能包含物理地址相关的额外信息(在 LiteOS 环境此参数未使用)。1)功能:用于将视频编码流(VENC)的数据保存到文件中。的指针,用于存储与当前帧处理相关的信息。: 当前处理的视频编码流指针。
2024-12-14 20:50:36
404
原创 RV1126 IPC上位机使用问题汇总
需要提前在系统设置中的摄像机管理,搜索摄像机,输入正确的onvif用户信息后一键获取到云台及相机的地址。第二步:输入onvif用户名和密码,注意是onvif的用户信息,一个摄像机可能有多种用户,比如登录用户,远程用户,onvif用户,务必记得要用onvif用户信息,可参阅说明书的末尾。第三步:单击获取所有,会自动以填写的onvif用户信息,去拉取具体摄像机的码流地址、云台地址等信息,可以拉动底部的横向滚动条查看具体是否获取到信息。在设备的IP地址上点击鼠标右键,如下图所示,点击“前端设置”
2024-12-10 21:45:56
462
原创 海思SS928平台H265编码例程解析2---功能描述及MPP API
一组大小相同、物理地址连续的缓存块组成一个视频缓存池。配置公共视频缓存池。根据业务的不同,公共缓存池的数量、缓存块的大小和数量不同。分发挥内存缓存池的作用,让物理内存资源在各个媒体处理模块中合理使用。:用户态通过缓存块的物理地址获取其句柄。:从虚拟视频缓存池中删除一个缓存块。:添加一个缓存块到虚拟视频缓存池。:设置模块公共视频缓冲池属性。:获取模块公共视频缓冲池属性。:数据源到数据接收者解绑定。:释放一个已经获取的缓存块。:获取一个缓存块的物理地址。:获取一个视频缓存池的信息。:初始化模块公共视频缓冲池。
2024-12-03 20:00:45
886
原创 海思SS928平台H265编码例程解析1---概述
H.265 又名 HEVC,在 2013 年被接受为标准,用于视频压缩。视频包含一帧一帧的图像。H265与H264各自的特点,可以从压缩下来和处理复杂度两个方面进行衡量来决定选用更合适的编码方式。1):H.265相较于H.264拥有更高的压缩效率。它通过更复杂的算法和更多的编码选项来减小视频文件大小,一般能将文件大小降低约50%以上,而在相同质量下使用更低的。2:相对于H.264,H.265的编码和解码算法更加复杂,需要更多的计算资源来进行处理。
2024-12-03 10:18:39
889
原创 SS928/SD3403自身性能接口及与Hi3559/Hi3519性能对比
目前海思SS928/SD3403代替HI3519A HI3559AV100已经基本成为主流。SS928/SD3403芯片部分国产化,但并非完全国产化。也有说100%国产化(暂时打个问号吧)SS928/SD3403芯片的核心模块基于华为海思智慧视觉应用处理器平台Hi3403V100开发。SS928/SD3403芯片支持Linux系统、华为生态鸿蒙及欧拉等国产操作系统,典型功耗5W;模块采用全表贴、全国产化设计,具有性能高、功耗低、体积小等特点,满足宽温工作环境。
2024-11-24 13:01:37
1251
原创 海思3403嵌入式Linu环境下SDK的编译下载及海康USB3.0相机的应用
从上图可以看出lMvCameraControl不兼容,查看GrabImage文件夹下的Makefile文件,改文件默认的还是gcc通用编译器,需使用交叉编译器aarch64-mix210-linux-gcc进行编译。这时列出海康相机的名称为MV-CE013-80UM,要求输入USB3.0相机的索引号,因为只有一台USB相机,其索引号从0开始,所以只需输入0即可。首先将lib文件夹下的库文件压缩和生成的可执行程序GrabImage复制到U盘中,通过步骤3内容中的方法,将程序下载到嵌入式板卡端。
2024-11-21 11:51:05
1196
1
原创 海思SD3403核心板+底板读取海康USB3.0相机数据的方法汇总
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考重点是硬件板块具有支持USB3.0相机的硬件接口和安装好海康工业相机的SDK及运行库。
2024-11-13 21:34:54
1174
原创 如何修改嵌入式Linux系统的IP地址
在Vim的修改模式下修改对应的IP地址,修改完毕后键入指令sync写入磁盘生效;3、最后输入reboot完成系统重启,IP永久地址设置完毕。2、点击ok连接嵌入式Linux的系统。
2024-11-09 11:49:19
516
原创 Qt人机界面的中英文切换
Qt ts文件(Translation Source file:翻译源文件)是Qt框架中用于存储翻译文本和相关上下文信息的一种特定格式文件,它是Qt Linguist(语言家)工具使用的基础。if(qtTranslator.load("./en.qm"))//注意:qm文件必须与exe文件同目录。<TS version="2.1" language="zh_CN">标签则包含了TS文件的版本号和语言代码。Qt程序中生成多语言处理必需采用qm文件,保存完ts修改的文件后,然后按下图操作可完成qm文件的生成。
2024-11-05 18:04:00
638
原创 Qt基于QModbusTcpClient的Modbus TCP传输协议的应用
QModbusClient类是发送Modbus请求的接口,QModbusClient API是围绕一个QModbusClient对象构造的,该对象保留其发送的请求的通用配置和设置。当调用完成时对应的槽函数将会被调用,它采用的参数是QModbusReply对象,该对象包含PDU以及元数据(寻址等)。,QModbusTcpClient封装好了modbusTcp协议,你只需要理解好,然后填入相应的参数和调用相应的接口就行了,不需要理解modbusTcp协议,,只是项目需要,不需要深入理解的,就能完成响应的功能。
2024-11-05 16:09:04
1229
原创 嵌入式Linux自启动脚本说明
默认脚本名称为md044_app,如有多个程序需自启动,可设置为md044_app1、md044_app2等,2、默认脚本名称,应具有可执行权限(chmod +x xxfile)注意不能和已有脚本冲突。
2024-10-28 17:06:12
482
1
原创 VMVare瘦身及清理垃圾方法
具体的执行命令如:vmware-vdiskmanager.exe -k "D:\RK3588VMWare\RK3588&RV1126-disk1.vmdk"概述:随着操作系统Ubuntu在VMware虚拟机使用时间的增长,其所占用的空间也越来越大,怎么给VMware虚拟机的垃圾文件占用的空间进行瘦身。右键该虚拟机——>设置——>硬件——>硬盘——>碎片整理,整理完成后,点击压缩。1利用VMware自带的碎片整理和压缩。
2024-10-21 11:50:09
914
2
原创 Qt原来正常的程序,今天编译失败的原因查找
1问题:报错“NMAKE:-1: error: U1077: “"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\nmake.exe"”: 返回代码“0x2”解决办法?2、问题:报错“NMAKE:-1: error: U1073: 不知道如何生成“D:\Qt\Qt5.12.3\5.12.3\msvc2017_64\bin\moc.exe”?
2024-10-19 17:45:12
690
2
Windows 环境下mpv播放器64位软件开发库
2025-02-23
Qt环境下Modebus TCP Serial的客户端及服务器的源程序
2024-11-12
中国铁路总公司运输局关于印发《道岔缺口监测系统技术规范》的通知+运电信号函2015315号
2024-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人