- 博客(1030)
- 资源 (67)
- 收藏
- 关注
原创 Qt资源文件以及文件加密
在这个例子中,我们定义了两个资源组:一个是根目录下的资源(图像文件),另一个是“/icons”下的图标(在 .qrc 文件中用 qresource 标签的 prefix 属性,它为 .qrc 文件中所有文件指定一个前缀)。在Qt中,资源文件(.qrc)是一种方便的方式来管理应用程序中的多媒体文件,如图像、图标和其他资源。同样地,若你需要显式卸载一个资源集(因插件被卸载或资源失效),需要用与前面相同的base name为参数调用Q_CLEANUP_RESOURCE() 来强制移除资源。
2025-01-11 13:28:15
531
原创 QT国际化
QT国际化是指将一个软件应用程序的界面、文本、日期、数字等元素转化为不同的语言和文化习惯的过程。这使得软件能够在不同的国家和地区使用,并且可以根据用户的语言和地区提供本地化的使用体验。
2024-12-30 23:38:07
1140
原创 基于Tensorrt C++ API 构建YOLOV5实现engine以及推理
TensorRT是英伟达针对自家平台做的一个加速包,可以认为 TensorRT 是一个只有前向传播的深度学习框架。这个框架可以将 TensorFlow,Pytorch,Caffe2 等框架训练出的神经网络模型解析,然后与 TensorRT 中对应的层进行一一映射,把其他框架的模型统一全部转换到 TensorRT 中,然后在 TensorRT 中可以针对 NVIDIA 自家 GPU 实施优化策略,并进行部署加速。根据官方文档,使用TensorRT,在CPU或者GPU模式下其可提供10X乃至100X的加速。
2024-10-05 14:02:30
1639
1
原创 基于OpenCV GPU的YOLOv5图片检测
3)、调用cv::dnn::Net类中setPreferableBackend和setPreferableTarget方法。2)、cv::dnn::readNetFromONNX加载yolov5 onnx模型文件。1)、cv::cuda::setDevice设置使用gpu id。1、编译好OpenCV GPU版本库。2、调用DNN模块方法。
2024-09-26 21:24:47
586
原创 opencv4.5.5 GPU版本编译
找到编译选项OPENCV_EXTRA_MODULES_PATH,将Value设置为opencv_contrib4.5.5/modules,然后点击configure。BUILD_CUDA_STUBS、OPENCV_DNN_CUDA、WITH_CUDA、OPENCV_ENABLE_NONFREE、build_opencv_world打勾。3、没勾选"BUILD_opencv_world",所以生成了多个库文件,方便打包时缩小体积。3、配置过程和编译opencv的一样,失败下载的文件要补上去。
2024-09-23 22:41:19
1119
原创 基于OpenCV的YOLOv5图片检测
1)、readNetFromONNX加载onnx模型出错。= "asymmetric",这个错误信息表明你在使用OpenCV的readNetFromONNX函数加载ONNX模型时,模型中的某些节点的插值模式(interp_mode)不是"asymmetric"。解决方法:det_output.row(i).colRange(5, num_class);使用opencv版本4.5.3或以上,本文使用的opencv4.6.0。解决方法:使用opencv版本4.5.3或以上,本文使用的opencv4.6.0。
2024-09-20 01:52:34
824
原创 基于onnxruntime的YOLOv5图片检测
点击input 或者 output,可以查看 ONNX 模型的基本信息,包括模型的版本信息,以及模型输入、输出的名称和数据类型。1、使用yolov5工程下utils中export.py文件,导出onnx文件。2、netron查看导出的模型是否正常(1、安装onnxruntime。
2024-09-18 00:14:23
544
原创 matplotlib中文乱码问题
在使用Matplotlib进行数据可视化的过程中,经常会遇到中文乱码的问题。显示乱码是由于编码问题导致的,而matplotlib 默认使用ASCII 编码,但是当使用pyplot时,是支持unicode编码的,只是默认字体是英文字体,导致中文无法正常显示,所以显示中文乱码。文本使用系统默认字体、手动指定字体、使用字体管理器来解决。
2024-09-07 00:11:42
2136
原创 ffmpeg 命令图片和视频转换
将d:\image目录下detect前缀jpg文件合并成视频文件,r表示帧率。一张图片生成10帧视频(loop表示帧数。s表示分辨率,宽高必须为2的倍数)。2.3 多少帧分拆一张图片(原始帧率25,每12帧截取一张图片)2.2 间隔15帧采样一帧,图片名字以时间戳命名。2.1 间隔30帧采样一帧,图片名字以帧号命令。一张图片生成10秒视频(t表示时长,单位秒)4、从视频中生成 GIF 图片。5、将 GIF 转化为视频。
2024-08-07 13:30:31
804
原创 PyQt5入门
Python中经常使用的GUI控件集有PyQt、Tkinter、wxPython、Kivy、PyGUI和Libavg。其中PyQt是Qt(c++语言实现的)为Python专门提供的扩展PyQt是一套Python的GUI开发框架,即图形用户界面开发框架.。而在Python中则使用PyQt这一工具包(PyQt5、PyQt5-tools、PyQt5-stubs),它是Python编程语言和Qt库的成功融合。
2024-08-03 21:46:55
1106
原创 std::this_thread::sleep_for休眠函数设计缺陷
std::this_thread::sleep_for 调整系统时间 卡住问题
2024-08-02 10:11:30
1242
原创 pycharm+pytorch+gpu开发环境搭建
pycharm+pytorch+gpu 离线安装pip install --no-deps torch-1.9.0+cu111-cp37-cp37m-win_amd64.whlpip install --no-deps torchvision-0.10.0+cu111-cp37-cp37m-win_amd64.whlpip install --no-deps torchaudio-0.9.0-cp37-cp37m-win_amd64.whl
2024-07-27 21:11:12
2429
原创 libiconv库实现unicode/utf-8等之间转换
/此函数从inbuf中读取字符,转换后输出到outbuf中,inbytesleft用以记录还未转换的字符数,libiconv是一个基于GNU协议的开源库,主要是解决多语言编码处理转换等应用问题。//此函数说明将要进行哪两种编码的转换,tocode是目标编码,fromcode是原编码,//outbytesleft用以记录输出缓冲的剩余空间。//该函数返回一个转换句柄,供以下两个函数使用。下面是一个简单的windows示例代码。//此函数用于关闭转换句柄,释放资源。下面是一个简单的linux示例代码。
2024-04-12 13:47:13
740
原创 c++标准库中unicode/utf-8等之间转换
在这个示例中,我们首先创建了一个 UTF-16 编码的 std::wstring 字符串 utf16_string,然后使用 std::wstring_convert 进行 UTF-16 到 UTF-8 的转换,得到了 UTF-8 编码的字符串 utf8_string。一个常见的替代方案是使用 std::wstring_convert 和 std::codecvt_utf8 或 std::codecvt_utf16 类来执行 UTF-8 或 UTF-16 编码的转换。下面是一个简单的示例代码。
2024-04-12 13:30:58
3587
原创 avro c++编译与使用
Avro 是 Hadoop 中的一个子项目,也是一个数据序列化系统,其数据最终以二进制格式,采用行式存储的方式进行存储。Avro提供了:1)、丰富的数据结构。2)、可压缩、快速的二进制数据格式。3)、一个用来存储持久化数据的容器文件。4)、远程过程调用。5)、与动态语言的简单集成,代码生成不需要读取或写入数据文件,也不需要使用或实现 RPC 协议。代码生成是一种可选的优化,只值得在静态类型语言中实现。
2024-04-07 23:14:08
1518
原创 NVR添加rtsp流模拟GB28181视频通道
以海康NVR为例。在海康NVR网页后台,选择"配置"-->"系统"-->"通道管理"-->"自定义协议",如下图所示:1.1)首先先添加主码流,NVR录像时用主码流,如下图所示:1.2)接着添加子码流,若配置了子码流,预览时建议用子码流,可以节省解码资源,如下图所示:资源路径可以在编码器的后台可以看到(输出设置-->播放地址)
2023-09-16 16:38:40
2348
原创 Linux抓包工具tcpdump
tcpdump是一个抓包工具,用于实时捕获和分析网络流量。它通常在unix和linux操作系统上使用。tcpdump能够捕获流经网络接口的数据包,并显示或保存它们以供进一步分析。它提供有关每个数据包的详细信息,包括源IP地址、目标IP地址、使用的协议、数据包时间戳、数据包大小等等。
2023-09-12 13:09:52
863
原创 查看视频文件关键帧间隔
2、通过执行以下命令将FFprobe信息重定位到ffprobe_help.txt文件中便于查看,FFprobe使用方法为:ffprobe.exe [options] [input_file]。-g 标志设置GOP大小(如您所述), -bf 2 表示2 B-帧应插入每组P帧之间,而 sgop 严格执行GOP大小。-print_format: 信息输出格式,支持xml、csv、json、flat、ini。-select_streams: 参数可以是a、v、s分别表示只查看音频、视频、字幕。
2023-09-08 17:38:44
2604
原创 H265视频硬解
硬解,使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等。目前的主流GPU加速平台:INTEL、AMD、NVIDIA。
2023-09-05 20:02:34
4076
原创 QComboBox添加样式后,编辑栏背景一直白色问题/设置下拉列表行距无效问题解决方法。
Qt中继承QWidget的控件存在一个获取QStyle指针的函数style(),该函数返回的指针对象包含unpolish(QWidget *widget) 和polish(QWidget *widget)两个方法,使用这两个方法可以将QSS的样式可将已设置的样式进行卸载和样式重新加载(初始化),然后使用update()函数更新。使用重新加载内存中的QSS样式。
2023-08-04 17:43:44
1779
原创 windows和linux中查找文档中的特定字符
f或--file= 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。-C或--context=或- 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。-B或--before-context= 除了显示符合范本样式的那一列之外,并显示该列之前的内容。-l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。
2023-07-23 15:58:54
3598
原创 QtableView实现的表格中添加复选框checkBox控件
QtableView实现的表格中添加复选框checkBox控件。自定义委托QAbstractItemDelegate,通过paint()函数来实现自己绘制checkbox控件,再设置样式无效。设置QAbstractTableModel的flags()函数来实现,设置样式有效。
2023-07-20 23:37:09
6031
原创 SIP支持的传输协议
如果存在”sent-by”参数,那么就用”sent-by”指定的port,如果不存在,那么就用缺省的port。SIP支持TCP传输:增加了SIP报文和语音传输的可靠性,通过TCP协议自身的特点为基于SIP的VoIP通信提供了面向连接和可靠的传输。SIP支持TLS(Transport Layer Security,传输层安全)传输:SIP支持TCP传输仅仅保证了SIP报文和语音传输的可靠性,而SIP支持TLS传输则保证了SIP报文传输的安全性。SIP支持UDP传输:UDP是一个无连接的协议,且不提供可靠性。
2023-07-16 18:34:12
2593
原创 QProcess启动进程以及waitForFinished的问题
QProcess中waitForFinished的问题,当我们执行一个超过30s的动作的时候,int msecs = 30000,那么就会直接finish,像遇到解压文件这种情况并且要等finish时候用解压的文件的时候,就会出现问题。方法1:waitForFinished(-1);表示一直等待,直到进程结束。方法2:循环等待waitForFinished()==true,表示进程结束。1、启动不带参数进程。
2023-06-26 18:03:58
3547
3
原创 使用API获取windows本地网卡信息
GetAdaptersInfo和GetAdaptersAddresses函数可以获取到本地网卡的mac、IPV4地址、IPV6地址等各种信息。也可获取到有线网卡、环回网卡、隧道网、无线网卡等不同类型的网络信息。比如:使用GetAdaptersInfo() 获得本机网卡信息, 用在win8上有个问题, 蓝牙开启时读不到信息。1、error C2011: “sockaddr”:“struct”类型重定义错误,彻底解决windows.h和winsock2.h重定义。方法2,在宏定义中加入以下这句话。
2023-05-06 23:10:07
1681
原创 GB/T 28181-2011、2016、2022变更对比
目录响应报文中,Info标签修改为ExtraInfo标签设备信息响应中,Channel字段格式变更(未使用),Info标签修改为ExtraInfo标签(未使用)设备状态查询响应中,Info标签修改为ExtraInfo标签(未使用)文件目录检索(录像回放列表)应答中,Info标签修改为ExtraInfo标签(未使用)A.2.4增加了部分查询命令及参数;但对于一个系统来说,抓拍图像是一件很严肃的工作,涉及到国家、单位、公民个人的秘密和隐私,此次系统将图像抓拍纳入标准中,保护了以上信息,规范了系统使用者的操作。
2023-05-02 13:05:56
5871
原创 curl获取下载状态、下载进度
使用curl命令下载文件,通过--progress-bar获取进度,通过读取打印结果判断下载完成情况。下载文件(成功或失败)代码。
2023-04-22 16:07:45
2894
原创 ShellExecuteEx使用方法与常用实例
一、ShellExecuteEx使用 ShellExecuteEx 打开文件或执行程序可以使用 ShellExecuteEx 打开文件或执行程序,与 ShellExecute 比较,ShellExecuteEx 提供了更多的控制。fMask 用于指定结构成员的内容和有效性,可为下列值的组合:SEE_MASK_DEFAULT (0)默认SEE_MASK_CLASSNAME 使用 lpClass 参数,如果 SEE_MASK_CLASSKEY 也有效,则用后者。
2023-04-22 00:25:33
3513
原创 OpenCV VideoWriter使用方法
1、打开视频输出cv::VideoWriter有两个构造函数,一个是默认构造函数,仅仅创建一个未初始化的VideoWriter对象用于之后的打开操作;写视频时需要设置一系列参数,包括:文件名、编解码器、帧率、宽度和高度等,还可以志峰图像是否彩色,isColor设置为false,可以传入灰度图。编解码器使用四个字符表示,可以是CV_FOURCC('M','J','P','G')、CV_FOURCC('X,'V','I','D')、CV_FOURCC('D','I','V','X')。
2023-04-15 13:15:15
7925
原创 OpenCV VideoCapture使用方法(视频文件、摄像头、网络视频文件)
cv::VideoCapture既支持视频文件的读取,也支持从摄像机中视频的读取。cv::VideoCapture对象的创建方式有以下三种:方式一:const string& filename, // 输入视频文件路径名方式二:int device // 输入摄像机视频捕捉设备 id从摄像机中读取视频,这种情况下,我们会给出一个标识符,用于表示我们想要访问的摄像机,及其与操作系统的握手方式。
2023-04-15 11:48:03
28231
4
原创 h265视频流rtmp推流服务器搭建
执行安装命令 make install,安装完成之后在我们的/usr/local/srs路径下将会有我们的所需要的所有文件。3.2执行 /usr/local/srs/objs/srs -c /usr/local/srs/conf/srs.conf。方法一、可以打开http://ip地址:8080 查看运行状态。./configure 或者 ./configure --prefix=/usr/local/srs。3.1删除进程记录文件。
2023-04-06 13:25:33
1829
原创 qt unicode、gbk、utf8之间转换
二、利用fromLocal8Bit和toLocal8Bit实现编码。一、利用QTextCodec类实现编码。
2023-03-28 19:56:15
2727
原创 std::thread线程超时终止
利用std::thread获取线程句柄,再利用GetThreadId获取线程id,利用OpenThread获取句柄。最后调用TerminateThread终止线程。
2023-03-16 15:30:11
2171
原创 librtmp使用方法
rtmp是常见的一种流媒体协议,它是由Adobe公司提出的一种应用层协议。rtmp传输的是flv格式的封装数据,flv中保存的一般是H.264视频流和AAC音频流。//播放流过程中服务器断开,重连处理。调用ReConnect函数或者RTMP_ReconnectStream函数。//写入流过程中服务器断开,重连处理。调用ReConnect函数或者RTMP_ReconnectStream函数。1、rtmp播放流步骤。3)是否连接服务器成功。2、rtmp发布流步骤。3)是否连接服务器成功。
2023-02-13 13:47:16
1197
原创 利用GPAC生成MP4文件
GPAC主要针对学生和内容创作者,代表了一个跨平台的多媒体框架,开发人员可以使用它在 LGPL 许可下制作开源媒体。GPAC多媒体框架兼容范围广泛的流行文件类型,从常见格式(如 AVI、MPEG 和 MOV)到复杂格式(如 MPEG-4 系统或 VRML/X3D)和 360 电影。
2023-02-03 13:15:04
1261
3
CH340, CH340G & CH341 (USB-SERIAL chip) V3.5
2024-04-16
librtmp x64 vs2015版本库文件
2022-05-09
ice同步调用和异步调用实例代码
2019-04-07
Qt中调用MFC对话框
2019-03-23
thrift web实例代码
2018-12-07
websocketpp实例代码
2018-11-29
MessagePack序列化实例代码
2017-12-02
LengthFieldBasedFrameDecoder 实例代码
2017-12-02
netty 分隔符解码器使用实例
2017-12-02
微软TTS语音引擎实现文本朗读代码
2017-11-07
pcm与g726相互转换
2017-11-02
Modbus C++实例
2017-09-17
调试Release程序--Dump文件方式
2014-05-15
VC编写与调用COM连接点demo
2011-07-12
C++ 检测内存泄漏
2011-04-27
基于改进的S I F T特征的图像双向匹配算法
2010-07-21
CppUnit测试框架在VC2008中应用
2010-07-19
WTL教程中文版资料
2010-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人