- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 【Qt】QImage支持jpeg图片的正确显示
在使用QImage显示图片信息时,有一个缺陷,QImage并不支持jpeg图片的exif元信息提取,需要借助其他exif的信息提取库来做辅助,再使用QTransfer的转换功能来实现图片的正确显示。
2024-07-14 18:00:51
405
原创 【C++】Pimpl惯用法
Pimpl(Pointer to Implementation)是一种C++设计模式,它用于隐藏类的实现细节,提供更好的封装和模块化。Pimpl惯用法的核心思想是将类的实现细节封装在一个指针指向的具体实现类中,而类的公共接口则仅包含一个指向实现类的指针。这有助于减小编译依赖关系,减少编译时间,提高代码的可维护性。
2023-09-20 20:01:02
242
原创 【C++】有了指针为什么还要引用
为什么C++有了指针还要引用?引用的底层也是指针实现的,引用和指针在编译结束之后汇编指令是一样的,引用会占用和指针相同大小的数据空间。引用传递,只是明面上,没有使用值传递,值传递本身是不可避免的。编译器,暗地里通过指针(或者其他可以替代指针的数据类型)的值传递,替换了引用传递。引用能实现的基本上指针都可以实现,那为什么C++还需要引入引用呢?
2023-07-20 00:42:51
306
原创 【c】fwrite和_fwrite_nolock
当在 Unicode 转换模式下打开 stream 时(例如,通过调用 stream 并使用包含 fopen、ccs=UNICODE 或 ccs=UTF-16LE 的模式参数打开 ccs=UTF-8 时,或者通过使用 _setmode 和包含 _O_WTEXT、_O_U16TEXT 或 _O_U8TEXT 的模式参数将该模式更改为 Unicode 转换模式时),会将 buffer 解释为指向包含 UTF-16 数据的 wchar_t 数组的指针。此外,如果发生错误,则无法确定文件位置指示器。
2023-05-10 22:18:42
413
原创 【opencv】解决USB相机取流卡顿问题
最近在使用opencv接usb相机时遇到了画面很卡问题,具体体现在cv::videocapture >> frame 的耗时大概在200ms左右。通过查询资料发现,USB相关通常会支持YUV格式和MJPG格式输出,YUV格式未经过压缩,数据量较大,usb相机的带宽不足以支撑高分辨率,MJPG格式可支持高分辨率。
2023-02-22 21:22:34
2447
2
原创 【图形学】绕固定轴旋转公式
注意:关于旋转的正方向,OpenGL与多数图形学书籍规定旋转正方向为逆时针方向(沿着坐标轴负方向向原点看),比如Computer Graphics C Version,p409。==============左手坐标系下(Unity,DirectX)===============绕X轴旋转:绕Y轴旋转:绕Z轴旋转:===============右手坐标系下(Opengl)============注意:规定在右手坐标系中,物体旋转的正方向是右手螺旋方向,即从该轴正半轴向原点看
2023-02-08 23:23:37
476
原创 【C++】explicit关键字
关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。 C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 2 是个默认且隐含的类型转换操作符。 所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正好是AAA单参数构造器的参数类型, 这时候编译器就自动调用这个构造器, 创建一个AAA的对象。
2023-02-08 23:17:47
110
原创 【QGridLayout】子控件大小不统一
QGridLayout这个布局方式,得到的子窗口布局却不能满足子窗口完全相同,出现3个子窗口或更多时,子窗口的宽度会不一致
2023-02-06 20:18:14
2017
原创 QSettings模块
QSettings是Qt提供的,用于解决跨平台的持久化Settings类,该模块封装在core核心模块中。QSettings是对配置文件读写、修改等技术的抽象,使您能够以一种可移植的方式保存和恢复应用程序设置,它还支持自定义存储格式。
2023-01-30 21:16:06
270
原创 【OpenCV】cvCreateImg使用记录
最近在一个项目中使用到了cvCreateImage函数来创建一个IplImage图片类型用来进行图像的相关计算,使用过程中,遇到了几个小问题,在这里记录一下。
2023-01-15 18:39:07
432
转载 【C++11】原子操作(atomic operation)
所谓的原子操作,取的就是“原子是最小的、不可分割的最小个体”的意义,它表示在多个线程访问同一个全局资源的时候,能够确保所有其他的线程都不在同一时间内访问相同的资源。也就是他确保了在同一时刻只有唯一的线程对这个资源进行访问。这有点类似互斥对象对共享资源的访问的保护,但是原子操作更加接近底层,因而效率更高。
2023-01-08 14:52:38
230
原创 【C++】带指针结构体的序列化操作
在项目中经常会遇到结构体中含指针的读写,指针保存的是某块内存的地址,其读写方式和基础变量存在差异,本文介绍的是使用fwrite和fread读取结构体信息。
2023-01-07 16:55:46
927
opensslTestForImg.rar
2023-01-30
QT QListWidget新增右键删除item内容
2018-07-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人