ZhangPY的专栏

不骄不躁,不屈不挠;严于律己,宽以待人

【VS开发】【OpenGL开发】OpenGL---Windows下配置与第一个OpenGL程序

面记录一下Windows下配置OpenGL与我的第一个OpenGL程序。 第一步:选择一个编译环境    现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。但这里我选择的是VS 2...

2017-01-31 22:31:18

阅读数:696

评论数:0

【CUDA开发】CUDA开发琐碎知识

## 一维矩阵的加 //实现一个一维1*16的小矩阵的加法。  //矩阵大小:1*16  //分配一个block,共有16个线程并发。  #include #include #include #include #include #define VEC_SIZ...

2017-01-26 23:47:21

阅读数:253

评论数:0

【C/C++开发】C++库大全

C++特殊限定符(1)--static         当static来修饰类数据成员时,这个类的所有对象都可以访问它。因为值在内存中持续存在,它可以被对象有效共享。这意味着当一个对象改变static数据成员的值时,就改变了所有对象的这个数据成员的值。 定义一个类: class...

2017-01-26 23:37:39

阅读数:332

评论数:0

【CUDA开发】CUDA面内存拷贝用法总结

【CUDA开发】CUDA面内存拷贝用法总结标签(空格分隔): 【CUDA开发】主要是在调试CUDA硬解码并用D3D9或者D3D11显示的时候遇到了一些代码,如下所示:CUdeviceptr g_pRgba = 0; CUDA_MEMCPY2D memcpy2D = { 0 }; memcpy...

2017-01-26 23:29:20

阅读数:1058

评论数:0

【CUDA开发】CUDA编程接口(一)------一十八般武器

子曰:工欲善其事,必先利其器。我们要把显卡作为通用并行处理器来做并行算法处理,就得知道CUDA给我提供了什么样的接口,就得了解CUDA作为通用高性能计算平台上的一十八般武器。(如果你想自己开发驱动,自己写开发库- -那我不得不佩服你很有时间,想必也不会有很多人想自己在去实现一个CUDA吧,呵呵,虽...

2017-01-26 23:20:15

阅读数:1147

评论数:1

【计算机视觉】OPENCV对于有alpha通道的透明背景图片的读取和图片叠加

这个是我自己做的粗略的螺旋丸的图,导出为png并带有alpha通道。 最后和一只狗合成成这个样子。 效果还是可以的。 为了实现这个效果,首先我们要明白具有透明通道的图片的OpenCV的读取方式。在OpenCV里,正常是读取图像和写入图像默认都是忽略透明通道的,如果想要读取原图像中...

2017-01-26 23:14:21

阅读数:2487

评论数:0

【CUDA开发】论CUDA和LAV解码器是否真的实用

先说配置,我电脑E3V3+GTX780TI视频就一个普通的720P AVC1编码MP4视频,实时检测软件是CPU-Z和GPU-Z,AIDA64【全默认设置】全部用ptoplayer默认播放时候,播放30分钟,全程满帧(输入和输出帧数相等)。显卡和CPU基本处于待机负载显卡核心频率在300MHZ,显...

2017-01-25 17:10:41

阅读数:667

评论数:0

【VS开发】网络SOCKET编程INADDR_ANY选项

INADDR_ANY选项 网络编程中常用到bind函数,需要绑定IP地址,这时可以设置INADDR_ANY INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。 也就是表示本机的所有IP,因为有些机子不止一块网卡...

2017-01-24 11:06:26

阅读数:304

评论数:0

【FFMPEG】I,P,B帧和PTS,DTS时间戳的关系

FFmpeg里有两种时间戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。 顾名思义,前者是解码的时间,后者是显示的时间。要仔细理解这两个概念,需要先了解FFmpeg中的packet和frame的概念。 FFmpeg中用AVPacke...

2017-01-23 20:53:30

阅读数:2228

评论数:2

【C/C++开发】ffplay中的FrameQueue的自我理解

最近在研究ffplay,以下是本人今天在研究FrameQueue的时候整理的笔记,如有错误还请有心人指出来~ //这个队列是一个循环队列,windex是指其中的首元素,rindex是指其中的尾部元素. typedef struct FrameQueue {                  ...

2017-01-23 20:20:26

阅读数:557

评论数:0

【C/C++开发】C++队列缓存的实现

C++队列缓存的实现 为什么使用队列缓存 c++的队列缓存主要用于解决大数据量并发时的数据存储问题,可以将并发时的数据缓存到队列中,当数据量变小时再匀速写入硬盘中。 引用queue队列 在头文件中引用queue队列 #include using namespace st...

2017-01-23 20:15:41

阅读数:3013

评论数:1

【C/C++】缓冲区设计--环形队列

原文链接:http://blog.csdn.net/billow_zhang/article/details/4420789 在程序的两个模块间进行通讯的时候,缓冲区成为一个经常使用的机制。   如上图,写入模块将信息写入缓冲区中,读出模块将信息读出缓冲区。这样使得: 将程...

2017-01-23 20:14:53

阅读数:1229

评论数:0

【C/C++开发】C++ Thread对象封装

Pthread库是posix linux的线程库,调用接口如下,我们模仿JDK,对Thread进行封装,具体的业务逻辑只需要如同Thread一样实现run方法即可。 线程操纵函数(简介起见,省略参数) pthread_create():创建一个线程 pthread_exit(...

2017-01-23 20:13:17

阅读数:270

评论数:0

【C/C++开发】C++实现简单的线程池

C++实现简单的线程池 线程池编程简介:     在我们的服务端的程序中运用了大量关于池的概念,线程池、连接池、内存池、对象池等等。使用池的概念后可以高效利用服务器端的资源,比如没有大量的线程在系统中进行上下文的切换,一个数据库连接池,也只需要维护一定里的连接,而不是占用很多数据库连接资源...

2017-01-23 14:07:44

阅读数:243

评论数:0

【C/C++开发】C++实现简单的线程类

C++封装一个简单的线程类 多线程编程简介:     大家在编程时,经常需要在程序中启动一个或多个线程来处理任务,而如果每次都是去调用系统创建线程的API函数来创建,代码量虽不多,但线程的创建和业务逻辑代码就揉在一起了,且创建多个线程的时候,有大量的重复代码,不便于维护。若我们把创建线程和销毁线...

2017-01-23 14:06:24

阅读数:809

评论数:0

【计算机视觉】OpenCV读取视频获取时间戳等信息(PS:经测试并不是时间戳,与FFMPEG时间戳不一样)

OpenCV中通过VideoCaptrue类对视频进行读取操作以及调用摄像头,下面是该类的API。 1.VideoCapture类的构造函数: C++: VideoCapture::VideoCapture() C++: VideoCapture::VideoCapture(const stri...

2017-01-23 08:46:38

阅读数:3761

评论数:4

【C/C++开发】运算符重载二

C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之...

2017-01-22 15:56:34

阅读数:206

评论数:0

【C/C++开发】运算符重载

c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。 1.一般运算符重载 在进行对象之间的运算时,程序会调...

2017-01-22 15:35:11

阅读数:284

评论数:0

【VS开发】【C++开发】const在函数前与函数后的区别

const在函数前与函数后的区别 一   const基础           如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:           int   b   =   500;      const   int*   a   =   &b...

2017-01-22 14:58:16

阅读数:193

评论数:0

【VS开发】【C++开发】正确使用auto_ptr智能指针

1, auto_ptr类 auto_ptr是一个模板类,定义如下: template typename Type> class auto_ptr {...}; 它存储的是一个指向Type的指针。 顾名思义,auto_ptr是一种智能指针,它包含一个动态分配内...

2017-01-22 14:45:41

阅读数:359

评论数:0

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