自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (8)
  • 收藏
  • 关注

原创 初探:c++异步编程之std::promise和std::future【异步数据获取】

c11以后标准库提供了thread,说起异步可能会第一时间想起thread,线程确实好东西,不过使用线程需要很注意数据同步问题。当然了线程也不能把线程执行结果返回回来,一般都是需要使用全局变量来做数据同步。今天要探讨的是另外一些异步方式如:std::async 、std::packaged_task ,配合以std::promise和std::future来获取执行结果,使用起来有很不错的疗效。

2024-08-19 15:42:58 281

原创 qt quick实现的水波纹特效:横向波纹、纵向波纹效果

一直以来使用c++ qt如果要实现一些高级特效比如水波纹效果都难度比较大,但是使用qt quick难度就会小很多。这里借鉴一些网友的思路简单实现一下水波纹效果。主要思路就是波浪的形成是基于sin曲线,以此来影响纹理坐标的颜色,然后加上时间动画不断改变曲线的坐标,从而达到一个波动效果。

2024-08-09 15:35:02 492

原创 python通过pyautogui自动给微信聊天窗口发消息

突然想到pyautogui可以做那么事情, 那么是不是可以模拟聊天呢,如果结合现在的大模型chatGPT一边问然后得到结果一边自动和别人聊天是不是很有趣呢。当然也可以给其他窗口输入比如记事本Notepad,我在想下一次玩游戏和小伙伴们互喷的时候是不是可以用脚本自动喷呢, 完全不费力~!

2024-08-01 15:47:20 660

原创 【ROS2】 默认的DDS通信中间件替换为Eclipse Cyclone_DDS (DDS配置方法)

上一篇我们探讨了ros1和ros2编写launch的区别【ROS2】launch启动文件编写ros1和ros2还有一个很重要的区别就是底层通信框架,ros1采用的是xmlRPC, ros2采用的是DDS。DDS 是一种端到端中间件,提供与 ROS 系统相关的功能,例如分布式发现(不像 ROS 1 中那样集中式)和对传输的不同“服务质量”选项的控制。也就是去中心化,ros2使用DDS后不再依赖roscore。DDS的实现又有很多种例如: RTI 的、eProsima 的Fast DDS。

2024-08-01 10:42:17 1167

原创 【ROS2】launch启动文件编写(重点探讨python方式)

ros1和ros2其中一个很大区别之一就是launch的编写方式。在ros1中采用xml格式编写launch,而ros2保留了xml格式launch,还另外引入了python和yaml编写方式。当然了,用python编写也不是全部都是优点没有缺点,不然还要引入xml,yaml干嘛对吧?答案就是用 Python 编写的启动文件可能比 XML 或 YAML 编写的启动文件更复杂、更冗长。

2024-07-30 17:56:53 1274 2

原创 【记录】海康相机(SDK)二次开发时的错误码

在进行海康sdk二次开发的时候,经常碰到各种错误,遂结合官方文档和广大网友的一些经验,把这些错误码记录一下,方便查找。笔者使用的SDK版本是HCNetSDKV6.1.9.4。

2024-04-03 16:40:14 4363

原创 【记录:ubuntu20.04安装Qt5.6】错误:qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks

在ubuntu高版本的系统安装低版本的Qt的时候报这个错误,通过查阅资料这是因为openssl的版本不兼容导致,解决办法就是安装旧版本的openssl。

2024-02-23 14:09:33 836

原创 Linux和Windows平台下获取时间戳方式总结【超全面:系统接口、c、c++、Qt】

以上实例是获取毫秒时间戳(13位),当然稍作修改要获取秒时间戳(10位)也不在话下。

2024-01-19 13:34:41 1639

原创 Qt编程之仿gnome-terminal终端样式 +颜色文字显示

本文采用QTextBrowser作为文本显示窗口,进行文本的显示。本文实例实现的效果并没有终端的输入效果,这里只是提供一些仿终端样式思路。

2024-01-17 16:29:41 753

原创 Linux创建文件和目录的一些方法探究

Linux系统的设计哲学是"一切皆文件",所以文件在linux中至关重要,而linux文件又分为:设备文件和虚拟文件系统(VFS)Linux硬件设备被表示为设备文件,通过在文件系统中创建设备节点,使得用户和应用程序可以通过标准的文件I/O接口来访问这些设备。比如:硬盘驱动器可以表示为/dev/sda,串口可以表示为/dev/ttyS0Linux内核实现了虚拟文件系统层,它是Linux系统实现"一切皆文件"思想的重要组成部分。

2024-01-17 15:10:59 1660

原创 【备忘干货】c/c++ (wasm)和js互相调用记录

通过本文可对wasm使用过程有一个初步的了解, 但还有很多功能尚未尝试。例如:前面提到的embind和WebIDL Binder, ccall, cwrap等等。还有一个有趣的东东Qt for WebAssembly,可以把Qt的东西在浏览器上跑包括GUI程序。

2023-12-04 09:10:10 1445

原创 c++ opencv多个特征点的连线显示

图像经过算子处理后得到若干特征点,使用opencv进行渲染显示出这些特征点并且连线,更直观的对比处理前后的一些差异性。

2023-11-28 14:32:53 984

原创 windows下使用VS2019 + CMake 进行Qt开发记录

常言道:工欲善其事必先利其器。工具利用的好,事半功倍。熟悉Qt的人都知道开发Qt程序ide可以使用qtcreator, 在windows下我们还可以选择vs studio进行Qt开发,vs的调试能力确实非同一般,vs+qt方式开发的时候可以安装Qt VS Tool插件,然后就能以.sln工程进行Qt开发。本文不探讨常用的Qt VS Tool插件方式,而是vs + cmake方式。

2023-09-28 10:30:57 3876 6

原创 ubuntu20.04 desktop 远程桌面配置记录【亲测好用vnc、vino】

ubuntu系统下有好几种不同方式的远程桌面方式,本人都使用过,以下是一些使用总结:vnc4server:其中vnc4server对gnome桌面支持不好vino:系统自带,但需要用户登录一次后才能远程,并且需要安装显示器tigervnc:俩个字 “ 好用 ”,gnome远程支持很完美这里介绍一下tigervnc,虽然名气不是很大,但是亲测好用,特别是gnome远程支持很完美。

2023-08-10 13:56:24 14200 2

原创 带你一文搞懂Qt Widget的show、hide、close、setVisible、setHidden的作用和区别

QWidget之show、hide、close、setVisible、setHidden

2023-07-17 09:08:28 8696 2

原创 【opencv之cv::Mat数据深拷贝和浅拷贝探讨】

很多时候写程序除了一个强大的架构,细节也很重要,俗话说的话细节决定成败嘛,在使用cv::Mat做图片处理的时候发现,这个数据类型存在深拷贝和浅拷贝的情况,遂想一探究竟。

2023-07-11 14:36:29 2107

原创 Qt6.5 LTS Windows使用VS2019编译全过程【包含静态编译】

鉴于之前一直使用的是Qt5,现在Qt6已经出到Qt6.6了,弄个Qt6尝尝鲜吧,但是从Qt5.15后不再提供安装包了,所以需要自己编译或者在线安装, 这里我们选择自己静态编译Qt6.5 LTS长期支持版本系统:Win11 家庭版处理器:12th Gen Intel® Core™ i5-12400F 2.50 GHz内存:16.0 GB1.cmake(>=3.16; >3.18.4 若需要使用 Ninja;>=3.19 若需要编译WebEngine; >=3.21.1若静态编译Qt6.2+)2.C+

2023-07-04 10:01:02 4141 1

原创 c++开发配置常用网站记录

常用网站记录

2023-02-24 14:04:11 571 1

原创 C++新建单层文件目录和创建多层目录,mkdir返回 -1 问题

c++17标准里包含了创建文件夹的库函数:std::filesystem::create_directory可以直接跨平台调用,无需调用后文所述的系统api,这极大方便了开发者。windows下没有提供现有的api来直接新建多层目录,需要自己区分割 ‘\’ 或者 ‘/’来一级级的创建。不像python大法新建单层目录可以调用os.mkdir, 新建多层目录可以调用os.makedirs。c++17以前新建目录会稍微麻烦点, 需要根据不同平台进行调用系统api来新建目录。Posix标准系统的,也是一样的。

2022-09-09 12:12:47 2273

原创 error:LNK2038:检测到“boost_type_index_abi”的不匹配项:值RTTI is used 不匹配值RTTI is off

windows下UE4引用boost头文件报错问题1.引用Microsoft官方的一段话2.解决方法3.下修改CmakeList.txt1.引用Microsoft官方的一段话当打开/GR时,编译器定义_CPPRTII预处理宏,默认情况下/GR是打开的。/GR-禁用运行时类型信息。如果编译器无法静态解析代码中的对象类型,请使用/GR。但是/GR 会增加镜像的.rdata部分大小,如果代码中不使用dynamic_cast 和typeid 那么就可以不使用/GR,这样可以减小程序大小。意思就是说打开/GR

2021-08-31 22:41:37 763 1

原创 Qt-qss之QScrollBar美化

QScrollBar样式表美化1.前言2.样式表美化例子1.前言https://blog.csdn.net/u014683488/article/details/104033777/2.样式表美化例子QScrollBar

2021-05-13 22:26:23 1993 4

原创 Linux编程:mmap内存映射的使用(内存共享的一种),mmap-实现大文件拷贝的终极武器?

Linux进程通信:mmap内存映射的使用

2020-07-07 09:34:08 1813 4

原创 Linux共享内存和Qt共享内存QSharedMemory的使用,今天你会了吗

Linux共享内存和Qt共享内存SharedMemory简介Linux共享内存使用Qt共享内存SharedMemory使用简介Linux系统下进程通信的方式有很多:管道(pipe)命名管道(FIFO)内存映射(mapped memeory)消息队列(message queue)共享内存(shared memory)信号量(semaphore)信号(signal)套接字(Socket)共享内存允许两个或更多进程访问同一块内存。内存共享是使用的比较简单方便的一种了,简单的一些数据通信和文

2020-07-01 13:58:54 4173 12

原创 Qt自定义控件之圆形按钮、圆形头像

Qt自定义控件之圆形按钮、圆形头像一级目录二级目录三级目录一级目录二级目录三级目录

2020-06-03 10:11:55 5020 24

原创 Qt使用C++封装qml自定义图形控件(QQuickPaintedItem)

C++封装qml自定义图形控件QtWidget、qml简介通过继承QQuickPaintedItem封装控件描述公用接口定义代码示例效果图QtWidget、qml简介Qt提供了2套UI模式,分别是c++为主的代表Qt Widget,还有一套是qt quick。QtWidget已经相对很稳定了,控件丰富,所以一些大型项目也可得心应手。qml做的界面比较美观,可以简单的写出一些炫酷的动画和特效,对触屏支持比较友好。比较适合做移动端开发,但是对于一些大型hua项目,界面复杂的个人认为还是用QtWidget

2020-05-29 13:41:08 8004 12

原创 Qt+opencv图像形态学滤波:腐蚀与膨胀学习

Qt+opencv图像腐蚀与膨胀概述膨胀腐蚀概述形态学操作就是基于形状的一系列图像处理操作。通过将 结构元素 作用于输入图像来产生输出图像。最基本的形态学操作有二:腐蚀与膨胀(Erosion 与 Dilation)。腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。膨胀就是图像中的高亮部分进行膨胀,“领域扩张”,效果图拥有比原图更大的高亮区域。腐蚀就是原图中的高亮部分被腐蚀,“领域被蚕食”,效果图拥有比原图更小的高亮区域。一般操作之前会先用getStructuringElement取得指定形

2020-05-27 09:51:58 1165 5

原创 Qt+opencv图像线性滤波之方框滤波、均值滤波、高斯滤波

图像方框滤波、均值滤波、高斯滤波一级目录二级目录三级目录一级目录二级目录三级目录

2020-05-25 16:07:47 2946 5

原创 Qt+opencv图片亮度调节和对比度调节

Qt+opencv图片亮度调节和对比度调节1.理论依据2.核心代码3.效果展示1.理论依据g(i,j) = alpha * f(i,j) + beta其中i,j表示像素的第i行,第j列。 g(i,j)就是输出图象的像素,alpha是对比度控制系数,beta是亮度控制系数。当然要改变像素的一些值就需要访问像素值,opencv提供了像素访问的一些方法,对于3通道的图像像素访问m_srcMat.at(i,j)[0] //Bm_srcMat.at(i,j)[1] //Gm_srcMat.at(i,

2020-05-21 14:23:14 2102 5

原创 opencv图片线性融合addWeighted及Qt显示Mat数据

opencv图片线性融合及Qt显示Mat数据引言图片线性融合1.读取图片融合2.mat转QImage3.QPainter显示4.效果展示感兴趣区域融合ROI引言上一篇博客介绍了highGUI的一些知识,也用到了线性融合的例子,这里把线性融合作为单独的例子拿出来讲一下,并介绍下Mat数据在Qt的渲染过程。图片线性融合理论公式:g(x)表示输出的融合像素,α是alpha系数0-1取值范围。f0和f1是背景和前景像素函数原型:void addWeighted(InputArray src1, dou

2020-05-20 14:26:47 555

原创 opencv图形用户界面HighGUI初识,图形读写、滑动条、鼠标操作

opencv图形读写、滑动条、鼠标操作1.opencv读图片并显示格式支持接口说明2.opencv写图片代码示例效果展示3.opencv滑动条代码示例:效果展示:4.opencv鼠标操作1.opencv读图片并显示格式支持通过上面几行即可简单的显示一张图片,下面是cv支持的一些格式Windows位图 - *.bmp, *.dibJPEG 文件- *.jpeg, *.jpg, *.jpeJPEG 2000 文件 - *.jp2png文件 - *.pngWeb图片 - *.webp便携文件格

2020-05-19 15:14:59 661 7

原创 opencv3源码目录modules和samples分析

opencv3源码目录modules和samples分析说明源码目录分析modules目录samples目录说明上一篇文章介绍了opencv3的源码编译和Qt的配置https://blog.csdn.net/haohaohaihuai/article/details/106144386以及第一个opencv程序的示例。为了更好的理解opencv结构,先从源码目录开始就很有必要。当然了这里只做一些简单的分析介绍。源码目录分析modules目录为了更清晰的展示,下面用一个表格进行展示目录

2020-05-18 17:24:12 454

原创 win10下mingw32编译opencv3.4.10及Qt+opencv配置

Qt使用opencv之hello world编译环境编译准备opencv编译opencv之hello world编译环境编译准备1.既然是mingw32编译,大前提是你需要安装qt并且带mingw编译器,我这里安装的是Qt5.102.安装cmake,这里安装的cmake-3.16.23.下载源码:https://opencv.org/releases/选择版本3.4.10。4.设置环境变量opencv编译1.把源码解压到一个目录,并且新建一个目录用来作为编译目录。打开cmake-gu

2020-05-15 17:46:04 1254 2

原创 C程序命令行解析以及Qt命令行解析之QCommandLineParser

Qt命令行解析之QCommandLineParser、QCommandLineOption简介C程序命令行介绍Qt命令行介绍QCommandLineParser类QCommandLineOption类使用例程简介我们日常使用的软件很多都支持命令行,即程序参数输入。很多时候因为我们在图形界面下忽略有这么个东西,对于开发一些arm端软件的时候,加入一些执行参数有时候很有作用。C程序命令行介绍对于纯c软件,也会有使用命令行输入的场景,下面我们来看一个例子:int main(int argc, char

2020-05-14 17:50:17 895

原创 海思3516开发记录-AAC音频解码

海思平台播放AAC文件1.说明2.音频解码音频API 参考:解码aac流程:音频设置音频解码相关错误码1.说明海思3516平台内置了aac解码库,可以直接解码aac音频文件,但要支持mp3播放的话就需要下载一个额外的mp3解码库,进行移植。意思就是内置解码库只支持aac解码。音频组件提供的编解码功能基于独立封装的 AAC 编解码库,核心编解码器工作在用户态,使用 CPU 软件编解码。下面我主要记录下aac解码过程。2.音频解码音频API 参考:HI_MPI_AENC_RegisterEncod

2020-05-09 11:46:10 2428 5

原创 Qt显示图片的几种方式以及耗时比较

一.前言Qt作为GUI图形库的选择之一,图片的显示有时候也尤为重要。例如背景的显示,icon的显示等等。这里我们来探讨一下Qt的几种图片显示方式和时间消耗。二.Qt图片显示1.painter,这个作为Qt的基础绘画大师,能绘制各种规则不规则的图形,当然显示图片也不在话下。...

2020-05-06 15:48:54 7664

原创 Linux系统下文件权限以及chmod使用

Linux系统下文件权限引言我们都知道Linux相对来说是比较安全的系统,而且Linux系统对权限和密码管理也是比较严格的,对于不同的用户同一个文件可能会有不同的使用权限。而用户权限最高的就是老大root。有些文件在不同系统或者用户目录拷贝过程中可能会改变其原有的权限,导致文件无法访问或执行。这个时候就需要chmod来解决权限问题。文件权限Linux系统中,每个文件由特定的用户和组拥有,并...

2020-04-29 10:32:40 1308

原创 海思平台移植Qt5.10带触摸-tslib

海思平台交叉编译Qt5.10带触摸屏海思3516移植Qt过程还是比较简单,因为海思没有提供硬件加速opengl库,所以我们去掉opengl功能,使用linuxfb作为图象渲染插件。这里由于要使用触摸屏,所以需要移植tslib进行触屏支持。一、移植tslib1.安装交叉编译器(这里不介绍安装过程,按照海思提供的readme进行安装即可)2.下载tslib最新源码:https://github...

2020-04-27 11:33:40 1402

原创 Linux进程PID查看和kill进程之pidof

Linux一个进程程序如何杀死另外一个进程前言在Linux程序编程时,可能会碰到这样一种场景,就是在一个程序里面需要在某个时候杀死另外一个程序,如果俩个都是自己写的程序也好办,可以在一个进程发出kill信号,另外一个进程进行信号捕捉,进行自行退出销毁。但是如果我们需要在自己的程序里面去杀死一个别人写的进程咋办?这个时候可以请出我们的主角,pidof。废话不多说,直接上代码:代码示例pid...

2020-04-18 09:36:07 1458

原创 Qt-qss之QSlider滑动条美化

首先什么是qss呢?QSS称为Qt Style Sheets也就是Qt样式表,它是Qt提供的一种用来自定义控件外观的机制。QSS大量copy了CSS的功能,只不过QSS的可以看作是CSS简化版,要弱很多,选择器要少,可以使用的QSS属性也要少很多,并不是所有的属性都可以用在Qt的所有控件上。下面我们来使用qss对滑动条slider进行美化。先上图。这里蓝色背景并非用qss美化,主要研究滑动条...

2020-03-31 09:42:51 14917 27

原创 ARM linux下网络状态检测命令ethtool和mii-tool的使用

Linux下用mii-tool和ethtool 查看网线是否正确连接到网卡,在ARM平台开发的时候遇到需要显示当前网络通断的时候,这2个命令就很重要了。有的平台sdk文件系统可能内置了这些命令,如果没有就需要自己移植了。对于mii-tool敲入命令如果网线是接着的降如下显示:eth0: negotiated 100baseTx-FD, link ok笔者这里是海思平台,决定移植ethtoo...

2020-03-18 18:33:01 1830

基于qt quick实现的水波纹特效,横向波纹,纵向波纹效果,感兴趣的作为参考

基于qt quick实现的水波纹特效,横向波纹,纵向波纹效果,感兴趣的作为参考。通过调整频率和振幅可以达到不同的观感效果。

2024-08-09

ABB机器人 RAPID指令技术中文参考手册

ABB机器人 RAPID指令技术参考手册,函数调用

2023-09-21

karel 语言手册, 适合fanuc机器人开发

karel 语言手册, 适合fanuc机器人开发,注意这是英文手册

2023-03-30

QShareMemory示例.zip

Qt使用QShareMemory内存共享示例,注释清晰,流程简单。分为读写2个进程,写进程负责把图片写入内存,读进程把图片读出并显示。

2020-07-01

qmlimageplugin.zip

c++封装的qml图形显示控件demo,通过此例子可以掌握qml通过继承QQuickPaintedItem封装自定义控件过程。适合初学者学习。

2020-05-29

Qt5.10_opencv_brightcontrast.zip

基于opencv3.4.10图像的亮度和对比度调节l例子。采用Qt5进行渲染显示。Qt5.10在win10下编译通过。需要学习Qt+opencv的可以参考。

2020-05-21

Qt命令行解析.zip

Qt命令行解析demo,使用QCommandLineParser、QCommandLineOption进行程序执行的输入参数解析。

2020-05-14

Qt5_rollingText.zip

基于QT5文字滚动显示,可设置根据文字长度自动滚动显示。qt5.10 migwin编译通过,需要的可拿去研究参考。

2019-10-24

基于qt4的计算器

此款计算器是基于QT4开发,界面做了简单的美化,已编译通过,很适合初学者看。本版本为1.0,后续我讲完善成2.0,美化和功能将大幅提升。建议使用4.7或4.8的库(win32)。

2015-08-12

8X8点阵原理及驱动

8X8点阵原理及驱动,很适合做单片机初学者。

2014-06-19

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

TA关注的人

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