郑文博Coding
码龄6年
  • 23,765
    被访问
  • 37
    原创
  • 88,479
    排名
  • 40
    粉丝
关注
提问 私信

个人简介:人的一生中最光辉的一天,并非是功成名就那天,而是从悲叹与绝望中产生对人生的挑战,以勇敢迈向意志的那天。

  • 加入CSDN时间: 2016-01-01
博客简介:

qq_33588386的博客

博客描述:
从事于Windows客户端开发(音视频方向)
查看详细资料
  • 3
    领奖
    总分 237 当月 14
个人成就
  • 获得55次点赞
  • 内容获得37次评论
  • 获得43次收藏
创作历程
  • 2篇
    2022年
  • 30篇
    2021年
  • 10篇
    2020年
成就勋章
TA的专栏
  • C++
    14篇
  • QT
    9篇
  • 音视频
    11篇
  • OpenCV
    10篇
  • OBS
    12篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

用QT自带的QMediaPlayer写一个音乐播放器

直接上代码头文件#pragma once#include <QObject>class QMediaPlayer;class QMediaPlaylist;#define SfPlayer MusicPlayer::GetInstance()class MusicPlayer : public QObject{ Q_OBJECTprivate: MusicPlayer(QObject *parent = nullptr);public: ~MusicPlaye
原创
发布博客 2022.01.26 ·
529 阅读 ·
0 点赞 ·
0 评论

写一个QTAV的音乐播放器

关于QTAV的介绍和编译请看我之前的文章,直接上代码因为音乐播放器只有一个所以是个单例头文件:#pragma once#include <QObject>#include <QtAV/AVPlayer.h>#include <QtAVWidgets/GLWidgetRenderer2.h>using namespace QtAV;#define avplayer QtavPlayer::getInstance()class QtavPlayer :
原创
发布博客 2022.01.26 ·
1908 阅读 ·
0 点赞 ·
0 评论

C语言 strcpy和memcpy源码实现

一、memcpy三个函数在使用过程中,均需包含以下头文件://在C中#include <string.h>//在C++中#include <cstring>二、memcpy函数是C/C++中的内存拷贝函数,它的功能是从源src所指的内存地址的起始位置开始,拷贝n个字节到目标dst所指的内存地址的起始位置中。实现如下: void* memcpy(void *dst,const void *src,size_t count) { void* ret = dst
原创
发布博客 2021.11.29 ·
112 阅读 ·
0 点赞 ·
0 评论

OpenCV读取视频文件

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.15 ·
24 阅读 ·
0 点赞 ·
0 评论

OpenCV读取摄像头

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.12 ·
998 阅读 ·
1 点赞 ·
0 评论

OpenCV图像合并

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.12 ·
146 阅读 ·
1 点赞 ·
0 评论

Opencv图像旋转

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.12 ·
1189 阅读 ·
0 点赞 ·
0 评论

OpenCV两张图像融合

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.12 ·
865 阅读 ·
0 点赞 ·
0 评论

OpenCV图像金字塔

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.12 ·
956 阅读 ·
0 点赞 ·
0 评论

OpenCV重置图片大小尺寸

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.12 ·
1248 阅读 ·
0 点赞 ·
0 评论

OpenCV调整对比度和亮度(自己实现和api实现)以及性能对比

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.12 ·
499 阅读 ·
0 点赞 ·
0 评论

OpenCV二进制阈值化以及反二进制阈值化

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.12 ·
752 阅读 ·
0 点赞 ·
0 评论

OpenCV转灰度图(自己实现和api实现两种)以及性能对比

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;void PrintMs(const char *text = ""){ sta
原创
发布博客 2021.11.12 ·
753 阅读 ·
0 点赞 ·
0 评论

OpenCV裁剪图片

#include <opencv2/core.hpp>#include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>using namespace cv;int main(int argc, char *argv[]){ Mat src = imread("1.png");// 图片路径 Rect rect(100, 100, 200, 200); Mat roi = src(rect);
原创
发布博客 2021.11.12 ·
944 阅读 ·
0 点赞 ·
0 评论

C++智能指针 shared_ptr

为了解决C++内存泄漏的问题,C++11引入了智能指针(Smart Pointer)。智能指针的原理是,接受一个申请好的内存地址,构造一个保存在栈上的智能指针对象,当程序退出栈的作用域范围后,由于栈上的变量自动被销毁,智能指针内部保存的内存也就被释放掉了(除非将智能指针保存起来)。C++11提供了三种智能指针:std::shared_ptr, std::unique_ptr, std::weak_ptr,使用时需添加头文件。shared_ptr使用引用计数,每一个shared_ptr的拷贝都指向相同的
原创
发布博客 2021.11.08 ·
28 阅读 ·
1 点赞 ·
0 评论

OBS技术交流群

有喜欢OBS开源技术的加群
原创
发布博客 2021.10.15 ·
146 阅读 ·
3 点赞 ·
0 评论

OBS技术交流群

有喜欢OBS开源技术的加群
原创
发布博客 2021.10.15 ·
146 阅读 ·
3 点赞 ·
0 评论

C++ 四种类型转换

众所周知C++关于类型转换引入了四种方式:1、static_cast2、const_cast3、dynamic_cast4、reinterpret_cast1、为什么要引入这几种类型转换,它与C语言中的强制类型转换有什么区别?2、这四种类型转换分别应用在什么场景?我们都知道C++完全兼容C语言,C语言的转换方式很简单,可以在任意类型之间转换,但这也恰恰是缺点,因为极其不安全,可能不经意间将指向const对象的指针转换成非const对象的指针,可能将基类对象指针转成了派生类对象的指针,这种转换很
转载
发布博客 2021.04.14 ·
37 阅读 ·
1 点赞 ·
0 评论

音视频 pts dts基本概念及理解

视频的播放过程可以简单理解为一帧一帧的画面按照时间顺序呈现出来的过程,就像在一个本子的每一页画上画,然后快速翻动的感觉。但是在实际应用中,并不是每一帧都是完整的画面,因为如果每一帧画面都是完整的图片,那么一个视频的体积就会很大,这样对于网络传输或者视频数据存储来说成本太高,所以通常会对视频流中的一部分画面进行压缩(编码)处理。由于压缩处理的方式不同,视频中的画面帧就分为了不同的类别,其中包括:I 帧、P 帧、B 帧。I、P、B 帧I 帧、P 帧、B 帧的区别在于:I 帧(Intra coded fr
转载
发布博客 2021.03.31 ·
345 阅读 ·
1 点赞 ·
0 评论

C++ 友元类和友元函数详解

私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦。C++ 是从结构化的C语言发展而来的,需要照顾结构化设计程序员的习惯,所以在对私有成员可访问范围的问题上不可限制太死。C++ 设计者认为, 如果有的程序员真的非常怕麻烦,就是想在类的成员函数外部直接访问对象的私有成员,那还是做一点妥协以满足他们的愿望为好,这也算是眼前利益和长远利益的折中。因此,C++ 就有了友元(fr
转载
发布博客 2021.03.31 ·
104 阅读 ·
1 点赞 ·
0 评论
加载更多