自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 QVariant用法(AI ChaptGPT)

QVariant 是 Qt 中用于封装各种类型数据的通用类。它能够存储和传递几乎所有的 Qt 和用户定义的数据类型,并提供了方便的接口来访问和操作这些数据。总的来说,QVariant 是一个非常灵活和方便的类,用于在 Qt 中处理各种类型的数据。

2024-05-17 09:43:53 118

原创 Qt Doc

/ 定义一个自定义类型public:private:// 在类外使用 Q_DECLARE_METATYPE 宏将自定义类型注册到元对象系统中// 注册自定义类型到元对象系统中// 创建一个 QVariant 并存储自定义类型的实例// 从 QVariant 中获取自定义类型的实例并输出return 0;

2024-05-16 18:33:52 181

原创 QMetaObject::invokeMethod(AI ChatGPT)

需要注意的是,QMetaObject::invokeMethod() 是一种动态调用方法的机制,因此如果方法名称或参数与实际不符,或者方法不存在,编译器不会给出错误提示,而是在运行时发生错误。QMetaObject::invokeMethod() 是一个非常有用的函数,它允许你通过名称调用 QObject 的方法,包括槽函数。type 是连接类型,通常是 Qt::DirectConnection,Qt::QueuedConnection 或者 Qt::AutoConnection。obj 是目标对象指针。

2024-05-16 16:15:06 110

原创 QML与C++信号槽处理的几种方式处理

width: 200")在这个QML文件中,定义了一个名为sendMessage的信号,它将一个字符串参数传递给与之关联的槽。Q_OBJECT在C++代码中,首先需要定义一个用于处理信号的类(在这个例子中是MessageHandler类),并在其中定义一个槽函数handleMessage,用于处理从QML发送过来的消息。然后,通过qmlRegisterType将这个类注册到QML类型系统中。

2024-05-16 16:02:06 237

原创 QML 事件响应(AI KIMI)

在 Qt Quick 应用程序中,事件响应通常在 QML 文件中处理,因为 QML 提供了一种声明式的方式来定义用户界面和其交互。QML 允许开发者直接在 QML 代码中定义事件处理器,如鼠标点击、触摸事件、键盘输入等。

2024-05-16 15:04:16 240

原创 QML 终端打印实现(AI KIMI)

创建一个 C++ 插件,该插件提供打印到终端的功能,然后在 QML 中使用这个插件。// 在 C++ 插件中Q_OBJECTpublic:// 假设你已经正确注册了类型并包含了相应的头文件");在 QML 应用程序中打印到终端通常需要使用 C++ 后端功能,因为 QML 主要用于定义用户界面,而不是执行系统级操作。以上方法提供了几种不同的实现方式,你可以根据你的具体需求选择适合的方法。

2024-05-16 15:02:30 122

原创 qmake添加编译链接参数

在qmake中添加编译参数,可以通过在项目的.pro文件中使用QMAKE_CXXFLAGS和QMAKE_LFLAGS(对于链接器参数)来设置编译器和链接器的选项。如果要添加特定于特定平台的编译器选项,可以使用win32、macx等qmake条件。PWD是qmake的变量,表示当前目录。

2024-05-14 15:43:38 285

原创 OpenCV 车牌号图片生成

【代码】OpenCV 车牌号图片生成。

2024-05-11 18:08:26 86 1

原创 负载测试拉高CPU使用率

【代码】负载测试拉高CPU使用率。

2024-04-28 15:53:20 79

原创 Linux CAN信号收发模拟

在Linux环境下进行CAN(Controller Area Network)信号的模拟收发通常需要使用一些工具和库。这将在虚拟CAN接口vcan0上发送一个标识符为0x123,数据为0x1122334455667788的CAN消息。

2024-04-25 10:38:32 246

原创 Framebuffer GL_EXTENSIONS检查

【代码】Framebuffer GL_EXTENSIONS检查。

2024-04-15 17:50:31 126

原创 OpenGL 扩展

但需要注意的是,这个函数返回的是一个以空格分隔的字符串,其中包含了当前上下文中支持的所有扩展的名称,而不是一个结构化的列表。ARB(Architecture Review Board)扩展:由 OpenGL 架构审查委员会(ARB)发布的扩展,是 OpenGL 标准的一部分,通常具有广泛的支持。EXT(EXTension)扩展:由 OpenGL 社区或者其他组织发布的扩展,通常是为了填补标准中的空白或者提供实验性的功能。着色器(Shader)语言扩展。

2024-04-15 09:56:02 405

原创 CUDA NPP/核函数图像灰度处理

【代码】CUDA NPP/核函数图像灰度处理。

2024-03-29 17:38:56 115

原创 SVM支持向量机

它的基本原理是找到一个最优的超平面来划分不同类别的数据点,使得不同类别的数据点能够被有效地分开,并且具有最大的间隔(margin),同时尽可能地避免分类错误。总的来说,支持向量机通过寻找一个最优的超平面来将不同类别的样本点分开,使得间隔最大化,从而实现对数据的有效分类。在更高维度的空间中,超平面是一个超平面。在实际问题中,数据可能不是线性可分的,这时就需要使用核函数将数据映射到高维空间中,使其在高维空间中线性可分。SVM的目标是找到一个超平面,使得样本点到这个超平面的距离(即间隔)尽可能大。

2024-03-20 15:04:05 489

原创 Canny 边缘检测算法原理

通过设置高低两个阈值,将边缘像素分为两个部分:如果像素的梯度值超过高阈值,则被认为是强边缘;然后,通过边缘跟踪的方法,将弱边缘像素连接到强边缘像素,以形成完整的边缘。它具有良好的性能,能够在图像中准确地检测出边缘,同时抑制了噪声的影响。这一步主要采用了边缘跟踪的方法,将弱边缘像素与强边缘像素连接起来,以形成完整的边缘。总的来说,Canny 边缘检测算法具有很好的边缘检测性能,可以在图像中准确地检测出边缘,并且对噪声有一定的抑制能力,因此被广泛应用于图像处理领域。

2024-03-18 16:09:43 868

原创 常用图像滤波器,图像增强

滤波器在图像处理中有各种各样的应用,它们可以用于去除噪声、平滑图像、增强图像特征等。在实际应用中,根据图像的特点和处理需求选择合适的滤波器非常重要。用于边缘检测,与Sobel类似,但对噪声更敏感。用于边缘检测,可以检测图像中的水平和垂直边缘。用于边缘检测,可以检测图像中的所有方向的边缘。通过多阶段的边缘检测,检测图像中的边缘。用于去除椒盐噪声(即黑白相间的噪声)。保留图像的边缘信息,而不会导致模糊。保留图像的边缘信息,同时平滑图像。平滑图像,减少图像的细节和纹理。平滑图像,同时保留边缘信息。

2024-03-16 14:56:30 594

原创 git submodule基本用法

Git submodule 是 Git 版本控制系统的一个功能,它允许你在一个 Git 仓库中嵌套另一个 Git 仓库。这种功能通常用于管理项目中的依赖项或者子模块。这些是常见的 Git submodule 用法。子模块是管理项目依赖关系的有用工具,但也需要小心使用,特别是在团队协作中。添加子模块: 使用 git submodule add 命令可以将一个外部仓库添加为子模块到当前仓库中。这会将子模块更新到其远程仓库的最新提交。其中 是子模块的远程仓库地址,

2024-03-05 11:07:23 496

原创 ROS create_wall_timer/create_timer函数区别

create_timer: 创建的定时器是基于ROS的时间系统的,它受到ROS时间调整的影响。这意味着如果ROS时间被修改(例如,通过ros::Time::setNow()),定时器的触发也会相应地受到影响。create_wall_timer: 创建的定时器是基于Wall clock的,这意味着它不受系统时间调整的影响。create_wall_timer 适用于需要严格按照真实时间触发的任务,不希望受到系统时间调整的影响的情况。create_timer 更适合于依赖ROS时间,需要与ROS系统同步的任务。

2024-03-04 15:23:53 576

原创 origin/master master

第一步,master从远程取出origin。该master分支上origin会被获取并在本地副本将被命名为origin/master。origin/master是远程分支(它是名为“origin” 的远程分支的本地副本,名为“master”)这里实际上有三件事:origin master是两件事,origin/master一件事。由于origin/master是分支,您可以合并它。##当origin/master 与master指向版本不同时。然后你合并origin/master进去master。

2024-02-21 15:10:08 650

原创 git tag用法

而 -m 选项则指定了对应的标签说明,Git 会将此说明一同保存在标签对象中。如果没有给出该选项,Git 会启动文本编辑软件供你输入标签说明。可以使用 git show 命令查看相应标签的版本信息,并连同显示打标签时的提交对象。

2024-02-21 15:07:48 820

原创 Git基本用法教程

Git(官网:https://git-scm.com/download/)安装之后鼠标右键会自动多出两个选项,这时就代表了安装成功。

2024-02-21 15:06:12 664

原创 cv::Mat图像操作

【代码】cv::Mat图像操作。

2024-02-21 14:59:13 471

原创 摄像头相机标定

我们想把世界坐标系下的坐标转换到摄像机坐标下的坐标,如下图所示,可以通过刚体变换的方式。t为平移向量,R、t与摄像机无关,所以称这两个参数为摄像机的外参数(extrinsic parameter),可以理解为两个坐标原点之间的距离,因其受x,y,z三个方向上的分量共同控制,所以其具有三个自由度。第一,要还原摄像头成像的物体在真实世界的位置就需要知道世界中的物体到计算机图像平面是如何变换的,相机标定的目的之一就是为了搞清楚这种变换关系,求解内外参数矩阵。第二,摄像机的透视投影有个很大的问题——畸变。

2024-02-21 14:58:25 367

原创 OpenCV cmake文件写法

【代码】OpenCV cmake文件写法。

2024-02-21 14:53:28 356

原创 模型加载assimp库参数说明

读取模型是保持原始层级结构,不做自动合并 与aiProcess_PreTransformVertices 搭配使用。##aiProcess_FlipUVs: 设置texture坐标翻转。

2024-02-21 14:23:52 339

原创 3D模型 obj格式PBR材质属性自定义规范及assimp解析

assimp 解析对照。

2024-02-21 14:21:50 406

原创 OpenCV 三次曲线拟合,B样条曲线拟合

【代码】cv 拟合三次曲线。

2024-02-21 14:12:32 460

原创 Opencv3.2 ubuntu20.04安装过程

在 opencv-3.1.0/modules/python/src2/cv2.cpp 730行改为。##4. const char* 转char。##3.FFMPEG 编译报错。

2024-02-21 14:09:37 552 1

原创 OpenGL抗锯齿优化及部分函数说明

抗锯齿是图形学中的一个重要概念,它指的是消除或减少图像中的锯齿现象,也就是边缘不平滑的现象。锯齿现象会影响图像的质量和真实感,所以在游戏或视频中,通常会使用一些抗锯齿算法来提高画面的美观度。抗锯齿算法有很多种,其中比较常见的有FXAA、SMAA、MSAA、TAA等。这些算法各有优缺点,适用于不同的场景和需求。本文将主要介绍两种抗锯齿算法:TAA和FXAA,并比较它们的区别。

2024-02-21 13:58:13 392

原创 AVM参考资料

改进的车载全息透明影像方法自动泊车之AVM环视系统算法AVM环视系统算法框架图形API坐标系对比以及坐标系之间变换

2024-02-21 11:48:11 381

原创 OpenGL渲染效率优化

5.优化思路就是在OpenGL的shader中尽量少使用if/for等分支语句,因为这会破坏GPU的wavefront结构,从而造成性能损失。熟记,glEnable和glDisable是所有状态的开启和关闭,只要记住正背面的状态改变使用的是GL_CULL_FACE即可。我发现我可以在顶点和法线中使用GLshort而不是GLfloat,而不会降低渲染的精度。这将显着压缩您的几何图形,并导致不错的渲染速度提升。了解即可,一般不会改动,默认的是背面,我们一般用默认的就可以,没必要改动。

2024-02-21 11:39:18 391

原创 glFlush() 和 glFinish()

总的来说,glFlush() 主要用于确保命令已经提交给了图形硬件,而 glFinish() 则用于确保之前的所有 OpenGL 命令都已经执行完毕。glFlush() 函数会强制将命令队列中的所有 OpenGL 命令立即提交给图形硬件执行,但不会等待命令执行完毕。因此,glFinish() 可以用于确保之前的渲染操作已经完成。与 glFlush() 不同,glFinish() 函数会阻塞调用线程,直到命令队列中的所有 OpenGL 命令都执行完毕,并且图形硬件完成了所有相关操作。

2024-02-21 11:37:22 475

原创 如何传输一个超大数组给着色器程序

当数据加载到 UBO ,那么这些数据将存储在 UBO 上,而不再交给着色器程序,所以它们不会占用着色器程序自身的 uniform 存储空间,UBO 是一种新的从内存到显存的数据传递方式,另外 UBO 一般需要与 uniform 块配合使用。UBO,顾名思义,就是一个装载 uniform 变量数据的缓冲区对象,本质上跟 OpenGL ES 的其他缓冲区对象没有区别,创建方式也大致一致,都是显存上一块用于储存特定数据的区域。如上图所示,这样呈现出来的效果是,纹理坐标从左上角到右下角,色彩强度依次增强。

2024-02-21 11:32:26 491

原创 阿里云ECS服务器Alibaba Cloud Linux 3环境LNNP+wordpress安装

最后,根据需要,你可以在Apache中配置虚拟主机、HTTPS等来增强安全性和性能。在浏览器中访问你的服务器IP地址或域名,按照WordPress安装向导完成安装。

2024-02-04 09:50:10 470 1

原创 wordpress添加主题上传文件失败不能创建目录不能Copy文件解决

首先确认FTP服务器开启。

2024-02-02 18:07:40 353

原创 linux中mysql忘记密码,密码重置

在Linux系统下,如果你需要重置MySQL密码,可以按照以下步骤进行操作:注意:确保在执行任何操作之前备份你的数据库,以防万一。

2024-02-01 16:05:23 457 1

原创 GLSL 传入2D环境贴图,shader内部实现立方体环境贴图映射

【代码】GLSL 传入2D环境贴图,shader内部实现立方体环境贴图映射。

2024-01-26 18:20:51 382 1

原创 VMware 上使用 Ubuntu 20 虚拟机时无法显示共享磁盘的问题解决

VMware Tools 安装: 确保您已经在 Ubuntu 20 虚拟机中安装了 VMware Tools。您可以在 VMware 虚拟机菜单中找到安装 VMware Tools 的选项。共享文件夹设置: 在 VMware 虚拟机设置中,确保已正确配置共享文件夹。您可以通过编辑虚拟机设置,然后在 “选项” 标签卡下选择 “共享文件夹” 来配置共享文件夹。检查权限: 确保您在 Ubuntu 中有足够的权限访问共享文件夹。重新挂载共享文件夹: 在 Ubuntu 中,您可以尝试重新挂载共享文件夹。

2024-01-16 11:42:10 451 1

原创 2D图像映射到3D模型

我们认为3D模型是在相机坐标系下的三维点,我们虚拟一个相机点在图上正上方,图像呈现的是3D模型在图像被拍下的效果。

2024-01-15 18:04:32 417 1

原创 python仿真3D碗状模型顶点生成效果

【代码】python仿真3D碗状模型顶点生成效果。

2024-01-15 15:25:40 420 1

conda 下载安装使用手册

anaconda安装 下载安装使用手册

2024-01-28

空空如也

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

TA关注的人

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