- 博客(170)
- 资源 (2)
- 收藏
- 关注
原创 大话设计模式之备忘录模式
备忘录模式是一种行为设计模式,用于在不破坏封装性的前提下捕获对象的内部状态,并在需要时将其恢复到先前的状态。它允许在不暴露对象实现细节的情况下,保存和恢复对象的状态。备忘录是一个包含了对象状态的不可变对象。它提供了一个方法来获取其所包含的状态,但不允许外部修改。通常,备忘录对象只有两个接口:一个用于获取状态,另一个用于构造。发起人是需要被保存状态的对象。它创建并使用备忘录对象来保存当前状态,并且可以根据备忘录对象来恢复先前的状态。它不能修改备忘录对象的状态,只能将备忘录对象传递给其他对象。
2024-04-03 09:16:34 610
原创 大话设计模式之观察者模式
观察者模式(Observer Pattern)是一种行为设计模式,用于定义对象之间的一对多依赖关系,当一个对象的状态发生变化时,其所有依赖者(观察者)都会收到通知并自动更新。觉得有帮助的话,打赏一下呗。
2024-03-30 15:32:52 519
原创 大话设计模式之建造者模式
建造者模式(Builder Pattern)是一种创建型设计模式,旨在通过将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。觉得有帮助的话,打赏一下呗。
2024-03-30 12:01:38 740
原创 大话设计模式之原型模式
原型模式(Prototype Pattern)是一种创建型设计模式,它用于创建对象的复制,同时又能保持对象的封装。原型模式通过复制现有对象的方式来创建新的对象,而无需知道具体创建过程的细节。:声明了一个用于克隆自身的接口,这样所有具体原型类都必须实现该接口。:实现了原型接口,负责对自身进行克隆。
2024-03-27 08:48:55 295
原创 qt+ffmpeg 实现音视频播放(三)之视频播放
`ps`:指向 `AVFormatContext` 结构体指针的指针,用于存储打。- `type`:要查找的流类型,可以是 `AVMEDIA_TYPE_VIDEO`、- `ic`:指向已打开媒体文件的 `AVFormatContext` 结构体的指。- `ic`:指向已打开媒体文件的 `AVFormatContext` 结构体的指。- `options`:指向包含附加选项的 `AVDictionary` 指针。- `codec`:要填充参数的 `AVCodecContext` 结构体指针。
2024-03-22 17:45:57 1211
原创 qt+ffmpeg 实现音视频播放(二)之音频播放
通过() 打开媒体文件并分配和初始化结构体。参数说明:- `ps`:指向 `AVFormatContext` 结构体指针的指针,用于存储打开的媒体文件的信息。- `url`:要打开的媒体文件的 URL 或文件路径。- `fmt`:指定输入格式,通常可以设置为 `NULL`,由 FFmpeg 根据文件内容自动检测。- `options`:附加选项,可以传入一些额外的选项参数。
2024-03-18 16:32:26 1092
原创 qt+ffmpeg 实现音视频播放(一)之交叉编译
音视频编解码库,提供了多种编解码器,可以支持多种音视频格式的编解码操作。:音视频封装和解封装库,提供了多种封装格式的支持,可以读取和写入多种音视频文件格式。:音视频过滤器库,提供了多种音视频过滤器,可以对音视频流进行各种处理,如添加水印、调整亮度、对比度等。:音视频输入输出设备库,提供了多种输入输出设备的支持,如摄像头、麦克风等。:视频图像缩放库,提供了多种图像缩放算法,可以对视频图像进行缩放操作。:音频重采样库,提供了多种音频重采样算法,可以对音频进行重采样操作。
2024-03-13 11:34:31 1128
原创 Qt + mqtt对接阿里云平台(二)
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上。在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。
2024-03-07 15:59:11 1146 1
原创 Qt + mqtt对接阿里云平台(一)
官网:点击跳转根据之前的操作,我们可以下载得到一个压缩包,将其解压,然后修改 mqtt_basic_demo.c 里面的相应代码:由于我是21年之前注册的,并且地址为 华东2(上海),所以修改该值为:打开下面代码注释,并修改里面的YourProductKey、YourDeviceName,根据自己的功能修改LightSwitch值我的修改如下:make./output/mqtt-basic-demo出现如下打印,说明连接成功了:然后在云平台可以看到设备 在线 了,并且显示 “1(开)” ,说明我们的发布也成
2024-03-07 11:09:19 1172
原创 linux 基于EasyPR的车牌识别(含EasyPR、opencv配置+人脸检测)
基于EasyPR的车牌识别 (含EasyPR、opencv配置)
2024-02-21 10:13:09 1015
原创 CAN 关于DBC文件的创建(适合小白)
打开ZCANPRO,加载刚才保存的dbc文件,可以看到我们设置的数据,然后可以修改数值发送,跟设备通信了!点击File->Create Database->CANTemplate.dbc->ok->输入文件名。,拖动到Messages对应的ID(BCM1)上面,需要注意一下顺序哦。至此,我们的dbc基本弄好了,保存一下,点击FIle->Save。下载完了一直点击nex即可完成安装。根据需要修改Name、Type、ID。然后,根据自己的数据输入相关数值。点击Messages->new。鼠标左键按住设置好的。
2023-12-28 17:17:41 634
LearnOpenGL之配置GLFW开发环境
2024-04-18
qt+ffmpeg 实现音视播放
2024-03-18
alsa 实现不定长时间的录音
2024-03-04
alsa 实现wav播放
2024-03-04
qt 基于百度API的人脸识别
2024-03-02
qt 基于百度API的人脸识别
2024-03-01
linux+qt 基于opencv的人脸检测
2024-02-22
linux+qt 基于EasyPR的车牌识别
2024-02-22
wav音频文件裁剪功能代码
2024-01-02
qml ListView结合cpp的model使用
2023-03-30
qt实现拖放效果demo
2022-02-02
Qt QMqtt客户端编程实例源码
2021-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人