自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (6)
  • 收藏
  • 关注

原创 windows启动后直接进入指定程序并且不显示欢迎界面和windows桌面

由于系统需求需要做到电脑开机后显示完windows加载页面就直接进入自己系统的界面,并且不显示登录欢迎页面,查阅了很多资料,得到的进入指定程序方法如下:更改注册表(打开注册表快捷方式“WIN+R 输入regedit 按回车)定位HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, 将Shell键值改为你的程序文件名,如将explorer.exe替换为:d:\work\release\test.exe,推荐先改为

2023-11-29 15:17:30 1756

原创 将图像的rgb数据转成DICOM医学图像格式

dcmtk库的编译这里就不叙述了,网上有很多这方面的详细内容。代码中用到了opencv图像处理库,主要是方便读取图像数据,而且可以通过opencv将其支持的任何格式转成dcm格式。如果转换后的dcm图像打不开则可以用然后回车就能看到文件信息。

2023-11-28 16:13:43 538

原创 c++调用openssl对文件加解密

OpenSSL库是由C语言实现,整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL是目前主流的基于密码学的安全开发包,提供的功能相当强大和全面,包括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。OpenSSL库具有以下优点:1.功能全面,支持大部分主流密码算法、相关标准协议和SSL协议;2.开放源代码,可信任,能根据自己需要进行修改,对技术人员有借鉴和研究的价值;

2023-11-28 15:30:07 1735

原创 c++通过tensorRT调用模型进行推理

拿到onnx模型后,通过tensorRT将onnx模型转换为对应的engine模型,并且在bin目录下生成.engine模型文件。算法工程师训练得到的onnx模型。

2023-09-07 15:27:15 1615 2

原创 关于c版和c++版tensorflow设置GPU选项

TensorFlow 在运行中,通常默认占用机器上的所有 GPU 资源,但实际运行模型并不需要占用如此多的资源,为了使 GPU 资源得到充分的使用,我们通常需要手动指定 TensorFlow 使用的 GPU 资源,在使用 Python 进行 TensorFlow 开发时,对于 GPU 资源的设置很方便,但是在使用 C/C++ 对 TensorFlow 模型进行工程化实现时,这个设置就变得相对复杂。由于近期在对 TensorFlow 进行 C/C++ 工程化时遇到了指定 GPU 资源的问题,于是总结一下。

2023-08-31 21:29:46 614

原创 区分多个鼠标的滚轮滚动消息

这段代码使用Raw Input API来捕获鼠标输入。在 WM_INPUT 消息处理中,它检查设备标识符以区分不同的鼠标。然后,它检查 usButtonFlags 字段来识别滚轮滚动消息,并从 usButtonData 字段中提取滚动增量。根据增量值的正负来分别处理每个鼠标的向上滚动和向下滚动逻辑。:直接上代码,复制粘贴可用,具体处理逻辑可以根据实际需求进行修改和扩展,请注意,这段代码是在Windows操作系统下使用C语言实现的。:电脑插了两个或多个鼠标,程序中需要区分不同鼠标的滚轮滚动消息。

2023-08-15 09:36:56 548 1

原创 关于opencv中resize报错

OpenCY Error: Assertion failed (dsize.area() >0 (iny_scale-x >0 && iny_scale y > 0)) in cv::resize, file XXX\opencV3.4.0\opencv\sources\modules\imgproc\src\resize.cpp,line 4045

2023-04-17 18:45:08 1662 4

原创 c++ opencv获取图像hed值

Haematoxylin-Eosin-DAB简称HED,实现原理是参考python中的rgb2hed方法。

2023-01-17 15:47:54 312

原创 win下编译opencv+libjpeg-turbo

opencv默认自带第三方jpeg编解码库,但其性能一般,对高性能需求的程序来说是不适合的,因此我们可以把jpeg-turbo编译进opencv里,这样opencv编解码就调用的是jpeg-turbo库了。编解码效率对比:(尺寸3000*3000的图片)编码解码opencv292ms124msjpeg-turbo68ms80ms。

2023-01-17 15:08:42 1386 1

原创 关于金字塔格式转tiff并且openslide能获取到缩略图等标签信息

获取当前目录的描述信息val,将val通过换行符\r和\n进行拆分得到字符串数组lines,如果lines个数大于1,则再将lines[1]通过空格进行拆分得到字符串数组names,如果names不为空则将names[0]作为标签写入tiff。下面是我写的转tiff的工具,支持"thumbnail",“label”,"macro"三种标签的写入。那我们将"thumbnail”,“label”,"macro"写入tiff的时候,如何才能保证openslide能够获取到呢?添加该标签,添加后就能通过。

2022-12-21 11:21:33 1082 10

原创 qml 自定义渐变色进度条样式

本博客仅用于记录qml中渐变间隔块状样式进度条的实现,creator本版:5.7.0。实现,块状间隔样式通过。

2022-10-11 18:37:35 664

原创 qml自定义消息弹窗messagebox

qml文件中使用消息对话框不像qt widgets中那么方便和友好,虽然说qml中有基础组件MessageDialog可以调用,但好像不能自定义其样式而显得格格不入,感觉就很鸡肋。于是自己重写了个消息弹窗供大家参考和指正,从而进一步优化。先看效果图:至于样式呢就留给大家根据自己的界面风格去添加和优化了,我只提供基础的框架。首先就是定义消息类型了,比如以下代码就定义了6种消息类型,0x01 ......

2022-07-13 15:09:57 3017

原创 qml实现路径绘制且可编辑

本文章示例要实现的功能是qml工程中实现圆形、矩形、多边形和直尺的绘制,并且可以通过控制点来改变路径,效果如图:qml工程中进行绘制除了使用Canvas,还有一种方法就是继承QQuickPaintedItem了,然后重写其虚函数paint(),调用update()来触发绘制。对于该类更详细的描述我就不介绍了,大家可以自己查阅。定义Annotation类,然后继承自QQuickPaintedItem然后重写其paint()虚函数,实现绘制功能其中BaseDraw是绘图的基类,ellipseDraw、me

2022-06-27 15:34:56 912 1

原创 Axure RP9 一启动就崩溃弹出错误报告

Message: HRESULT: [0x80070008], Module: [Unknown], ApiCode: [Unknown/Unknown], Message: 内存资源不足,无法处理此命令。

2022-06-15 15:47:27 9842 8

原创 ShellExecuteEx传递参数包含json数据

如果现在我们要传递带有**json**格式的参数,用以上方式也不行了,至少在我这里是这样,因为json数据中的字段中带有双引号

2022-04-08 22:49:46 1029

原创 程序打包安装权限问题

昔时贤文,诲汝谆谆,集韵增广,多见多闻。今年的第一篇博客,哎,懒惰了。。。环境:windows cs架构,客户端当我们程序要发布版本的时候,首先就是需要进行打包成安装包,比如用inno setup进行打包,然后供用户下载,不管你的介质是线上下载还是线下载体拷贝。程序员应该都知道,有些目录的属性是只读,或者受系统保护,比如c盘包含Program Files的文件夹如果要写入就需要管理员权限。遇到的问题:当有这种情况,就是我们客户端安装在比如Program Files目录且没有管理员方式运行时:1

2022-04-06 22:25:01 1066

原创 关于Qt Quick中将Canvas保存为QImage类型

环境:win + qml(QT版本5.6.0) + msvc2015由于项目中需要实现将Canvas图像保存为QImage类型的图像,百度了一大圈都搜索不到相关答案,没办法,只能自己一个个的查看文档中是否有相关的接口可以实现。例如将如下Canvas保存为QImage,方法有三种:Canvas{ property var ctx : canvas.getContext('2d') id:canvas anchors.fill: parent

2021-12-22 16:48:48 1230 2

原创 关于Qt(qml)使用windeployqt打包后运行无反应的问题解决办法

我的环境: win10 + qt5.7.1 + msvc2015 + qml程序我的问题:随便创建一个qml程序,qtcreator上能跑起来,当我使用windeployqt命令打包的时候双击exe却无任何反应。我的打包命令是:windeployqt qml_test.exe --qmldir C:\Qt\Qt5.7.1\5.7\msvc2015_64\qml参考了网上很多类似文章,都不能解决我的问题,可能不同版本解决的办法不同吧,算了,还是自己来研究是咋回事吧~解决思路:因为我把exe拷贝到QT环

2021-11-23 10:54:50 4514 1

原创 关于不同版本VS编译获得的静态库、动态库的兼容性

看了上一篇博客还是在6月13号一直想着写一些东西,也准备了很多内容,没想到一直拖到了现在,终于掀开了我的笔记本盖子,按下了开机按钮,双击浏览器图标打开了博客页(浏览器图标都差点找不到了~~),赶紧写完一篇睡觉,明晚还要给我的小可爱做饭呢。。。言归正传,下面就简单描述一下关于不同版本VS编译获得的静态库、动态库的兼容性问题,以下是参考msdn的描述:Visual Studio 2013 和更早版本中的 Microsoft c + + (MSVC) 编译器工具集不保证主要版本之间的二进制兼容性。 不能链接对

2021-11-18 23:30:34 4653 2

原创 qml实现rgb曲线调节功能

环境:windows + qt5.6.0 + opencv342效果图(注:该效果是项目中的截图,并非实际demo运行效果):demo源码地址(附带opencv库,运行的时候请将dll文件拷贝到exe同目录):说明:曲线的实现方式是通过继承QAbstractListModel来实现自定义模型(CCurvesModel和CCurveModel),在qml页面中则是通过Instantiator和Canvas控件来动态生成每条曲线的256个点,画曲线方式有多种,我这只是其中一种而已,最重要的还是如何通过控

2021-06-13 22:09:00 561 4

原创 qml嵌入文件系统模型:QFileSystemModel

环境:win10 + qt5.6.0QFileSystemModel:QFileSystemModel类为本地文件系统提供了一个数据模型。此类提供对本地文件系统的访问,也提供了用于重命名和删除文件和目录以及创建新目录的功能。 在最简单的情况下,它可以与适当的显示小部件一起使用,作为浏览器或过滤器的一部分。可以使用QAbstractItemModel提供的标准接口来访问QFileSystemModel,同时它还提供了一些特定于目录模型的便捷功能。 fileInfo(),isDir(),fileName(

2021-06-13 22:01:05 1413 8

原创 c++使用libvlc实现简单的播放器

VLC Media Player是一款非常强大的播放器,基本上支持绝大部分的解码器,但是源代码编译难度很大,所以还是使用编译好的库吧。vlc sdk下载地址:http://download.videolan.org/pub/videolan/vlc/vlc相关VLC-QT:用QT的小伙伴们可以使用开源的VLC-QT库哦,widget和qml都支持,由于 VLC-Qt 集成了整个 libVLC,因此具备 libVLC 的所有特性,例如:libVLC 实例和 player、单个文件和列表播放、音频和

2021-05-26 17:43:37 1702

原创 Effectivec++条款12:复制对象时勿忘其每一个成分

编译器会在必要的时候为我们的类创建copy构造函数和赋值函数,并且将被拷贝对象的所有成员变量都做一份拷贝。如果你声明自己的copy构造函数和赋值函数,意思就是告诉编译器你并不喜欢缺省实现中的某些行为。考虑一个class用来表现顾客,其中自己写出copying函数,使得外界对它们的调用会被日志记录下来:void logCall(const std::string& value);//日志记录class Customer{public: ... Customer(const C

2021-04-29 11:42:41 109

原创 Effective c++条款06:若不想使用编译器自动生成的函数,就该明确拒绝

正常情况下一个类都拥有自己的拷贝构造函数和赋值函数:MyClass a;MyClass b;MyClass c(a);//拷贝a = b;//拷贝但如果我们希望我们这个类应该是特有的,不允许有副本,那就不应该支持拷贝功能,如果是普通的函数,只要不声明就是了,但这个策略对copy构造函数和赋值操作符却不起作用,因为如果我们不去声明它们,而又去尝试调用它们,编译器就会自动去声明它们。答案的关键是,你可以将copy构造函数和赋值操作符声明为private,藉由明确声明一个成员函数,你阻止了编译器暗自

2021-04-29 10:14:35 121 1

原创 qml之轮播效果

以下是图片轮播实现代码:import QtQuick 2.0import QtQuick.Window 2.2import QtQuick.Layouts 1.3import QtQml 2.2Window { id:id_root visible: true width: 800 height: 500 Rectangle{ id: id_bk color: "black" anchors.fill: p

2021-04-27 11:24:32 892 1

原创 Effective c++条款02:尽量以const,enum,inline替换#define

1.尽量以const,enum,inline替换#define当你写出这样的代码:#define ASPECT_RATIO 1.62记号名称ASPECT_RATIO也许从未被编译器看见;也许在编译其开始处理源码之前它就被预处理器移走了。于是记号名称ASPECT_RATIO有可能没进入记号表内,于是当你运用此常量获得一个编译错误信息时可能会带来困惑,因为这个错误信息也许会提到1.62而不是ASPECT_RATIO。如果ASPECT_RATIO被定义在一个非你所写的头文件内,你肯定对1.62以及它来自何

2021-03-22 16:54:26 119 3

原创 qml之ShaderEffectSource获取控件快照

ShaderEffectSource和grabToImage的大致区别:grabToImage接口可以提取出图像,但是这个需要把显存中的数据复制到内存中,非常耗时,而ShaderEffectSource是完全GPU内实现,不存在拷贝到内存的开销。说明:ShaderEffectSource类型将sourceItem渲染为纹理并在场景中显示属性:format:ShaderEffectSource.Alpha:单通道(Alpha通道)效果:...

2021-03-18 21:58:40 930

原创 qml之状态与过渡(States and Transitions)

通常我们将用户界面描述为一种状态。一个状态定义了一组属性的改变,并且会在一定的条件下被触发。另外在这些状态转化的过程中可以有一个过渡,定义了这些属性的动画或者一些附加的动作。当进入一个新的状态时,动作也可以被执行。状态(States)在QML中,使用State元素来定义状态,需要与基础元素对象(Item)的states序列属性连接。状态通过它的状态名来鉴别,由组成它的一系列简单的属性来改变元素。默认的状态在初始化元素属性时定义,并命名为“”(一个空的字符串)。Item { id: ro

2021-03-16 21:56:11 267 3

原创 qml之动画(Animations)

动画被用于属性的改变。一个动画定义了属性值改变的曲线,将一个属性值变化从一个值过渡到另一个值。动画是由一连串的目标属性活动定义的,平缓的曲线算法能够引发一个定义时间内属性的持续变化。所有在QtQuick中的动画都由同一个计时器来控制,因此它们始终都保持同步,这也提高了动画的性能和显示效果。简单示例:Rectangle { id:id_root width: 800 height: 400 color:"black" Rect

2021-03-16 21:51:55 1287 3

原创 git的撤销回滚(git reset/git revert)

git的工作流工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git commit xxx 之后的。暂存区:已经 git add xxx 进去,且未 git commit xxx 的。本地分支:已经git commit -m xxx 提交到本地分支的。代码回滚在上传代码到远程仓库的时候,不免会出现问题,任何过程都有可能要回滚代码:1、在工作区的代码git checkout – a.txt # 丢弃某个文件,或者git checkout

2021-03-16 09:40:52 1163 3

原创 qml之将控件转为图片:grabToImage

接口:bool grabToImage(callback , targetSize )参数:callback :javaScript的回调函数,当图片生成时会调用该函数targetSize :生成目的图片的大小,默认为控件大小函数说明:将控件抓取到内存中的图像中。抓取是异步进行的,当抓取完成时调用JavaScript函数回调。使用targetSize指定目标图像的大小。默认情况下,结果的大小与控件的大小相同。如果抓取无法启动,函数将返回false。注意:此功能会将控件渲染到屏幕外的表面

2021-02-27 14:53:04 1446

原创 opencv四通道图片的拷贝

参数:srcAlpha:原图dest:目的图片x:起始位置y:起始位置1.四通道图片拷贝到四通道图void map4ToMat4(const cv::Mat &srcAlpha, cv::Mat &dest, int x, int y){ for (int i = 0; i < srcAlpha.rows; i++) for (int j = 0; j < srcAlpha.cols; j++) { Vec4b val = srcAlpha.at&l

2021-02-24 16:41:36 533

原创 qml之Repeater

简介Repeater用于创建大量类似项。与其他视图类型一样,Repeater有一个模型和一个委托:对于模型中的每一项,委托都在一个上下文中实例化。Repeater通常用于在定位器类型(如Row或Column)中,以直观地定位由Repeater创建的多个委托项。注意:Repeater拥有它实例化的所有项。删除或动态销毁由Repeater创建的项会导致不可预知的行为。使用Repeater时的注意事项:Repeater在第一次创建时会创建其所有委托项。如果存在大量的委托项,并且不是所有的项都需要同时可见,

2021-02-22 11:59:37 4903 2

原创 c++修改Json文件内容

吐槽:在百度关于修改Json文件内容时看了几篇博客,无一例外文章都是雷同的,而且说的也不详细,没有详细的验证结果是否有问题就发了出来,这样无疑会给我们带来不必要的麻烦。读取:从文件中读取json数据是很容易的,以c++ qt环境为例读取以下数据:{ "projects": [ { "lastSaveTime": "2021-01-18 14:25:05", "name": "Fotosifter Project",

2021-01-18 22:30:07 2943 2

原创 关于跨版本调用动态库传参问题

最近项目中遇到这么个问题,项目使用的是QT + msvc2013进行开发,由于某个动态库只能由VS2015以上版本编译,因此涉及到跨版本调用vs2015编译的dll,接口传递的参数有std::string和std::vector类型,这就导致了程序经常在调用该接口时崩溃,最后才明白其中原因,具体原因请参考下面这篇文章:DLL中传递STL参数,vector对象作为dll参数传递等问题下面具体描述我遇到的问题和解决方法。错误的写法:dll中的某个接口,这里的参数类型就用到了STL标准模板库里的类型:_d

2020-11-24 23:19:54 617 4

原创 vs2015编译dlib-19.19+cuda9.0+cudnn

本文用于记录在win10环境下dlib的配置,我的配置环境为:vs2015 + dlib19.19 + cuda9.0 + cudnn + cmake先提供下载地址:dlib下载地址cuda下载地址cudnn根据cuda版本下载 cudnn下载地址1.首先安装下载好的cuda.exe2.解压cudnn,比如解压到d盘根目录,解压出来的路径为d:\cuda,里面包含lib,bin,include三个子文件夹。3.将cudnn添加到环境变量path中去(d:\cuda\lib,d:\cuda\

2020-11-15 20:10:37 464

原创 opencv4.2旋转图片后去除黑边 保留透明

环境: win + opencv4.2 + visual studio 2017先看效果图,旋转后四个角多余部分为透明状态:方法1:计算旋转后的图片的宽高,然后遍历原图像素点拷贝到旋转后的图相应位置。注意:imread的最后一个参数IMREAD_UNCHANGED表示带有alpha通道。也就是 原图Mat必须是4通道(BGRA)。Mat RotateBGRA_Mat(cv::Mat img, float angle){ double a = sin(angle * CV_PI / 180);

2020-10-25 16:10:10 1985

原创 inno setup卸载时弹出意见反馈窗口和使用WinHttpRequest上传

当我们使用inno setup打包时,希望用户在卸载时能够弹出自定义窗口,并上传信息到服务器。如图自定义窗口:我希望用户填写描述信息和邮件,当点击Uninstall时开始上传数据。注意:inno setup里换行符为**#13#10**,控件生成布局和卸载逻辑判断都是在InitializeUninstallProgressForm接口里,数据上传使用的是WinHttpRequest,关于WinHttpRequest的使用WinHttpReq.SetRequestHeader('Content-T

2020-10-25 15:38:43 888 4

原创 QT自定义messagebox弹窗

样例:设计的比较简单,图片资源都是在网上找的,就不上传了,可以自己优化完善上代码:defMessageBox.h:#ifndef DEFMSGBOX_H#define DEFMSGBOX_H#include <QDialog>#include <QPushButton>#include <QMouseEvent>#include <QLabel>namespace Ui {class DefMsgBox;}enum BT

2020-09-19 18:13:22 4200 1

原创 c++ 关于指针释放的问题

如下图所示:程序为指针a申请了一块内存,然后将指针a赋给指针b,此时a和b都指向的同一块内存地址。接着delete b,并将b置为空,断点走到18行处,此时变量r是能被赋值的,只是r的值可能是9,也可能是其它的垃圾数据。因为所谓delete b,意思是释放了对a和b所指向内存的所有权(即内存被操作系统回收了),但此时a和b没置nullptr前仍指向这块内存地址,这块内存地址可能不存在了,也可能被其它程序利用了,因此int r = *a就具有不确定性,所谓未定义行为,也就成了野指针。...

2020-09-19 16:11:06 1154

qml工程中实现圆形、矩形、多边形和直尺的绘制,并且可以通过控制点来改变路径

qml工程中实现圆形、矩形、多边形和直尺的绘制,并且可以通过控制点来改变路径

2022-06-27

rgbTest.rar

qml模拟实现photoshop rgb曲线调节图

2021-06-13

公安视频图像信息数据库协议_v1.2.docx

本协议立足于公安部2017年发布的GAT 1400.X系列文档,提取其中关于视图库的功能描述和实现内容,并参照大华技术团队在开发过程的经验总结编写而成。内容涉及视图库的接口协议,调用流程,数据库定义等,对于常用的对接流程,比如订阅,通知,布控,告警,注册、保活、注销有更详细的说明。

2021-03-16

视图库对接技术要求_试行版.pdf

为加强公安视频图像信息数据库(以下简称“视图库”)建 设,规范部、省对接工作,特制定本技术要求

2021-03-16

PayCount_QT.rar

美化界面,去掉边框,按钮绑定三种状态的图片

2019-08-22

ffmpegTest.zip

MFC+ffmpeg+SDL实现的简单的播放器,功能简单,目前只支持播放,暂停,停止,进度条拖动,画面大小拖动功能。

2019-08-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除