aihot  2017-05-27 10:23:20  OpenCV |   查看评论   
 
249.VideoWriter_GPU :: EncoderCallBack :: releaseBitStream:回调函数,用于表示编码的比特流已准备好写入文件;
 
250. VideoWriter_GPU :: EncoderCallBack :: onBeginFrame:回调函数来表示框架上的编码操作已经启动;
 
251.VideoWriter_GPU :: EncoderCallBack :: onEndFrame:回调函数表示帧上的编码操作已完成;
 
252. class ::VideoReader_GPU:从文件读取视频的类;
 
253. VideoReader_GPU ::编解码器:视频编解码器支持bygpu :: VideoReader_GPU;
 
254. VideoReader_GPU :: ChromaFormat:由gpu :: VideoReader_GPU支持的色度格式
 
255. VideoReader_GPU :: FormatInfo:提供关于视频文件格式的信息的struct;
 
256. VideoReader_GPU :: open:初始化或重新初始化视频播放器;
 
257.VideoReader_GPU :: isOpened:如果视频读取器已成功初始化,则返回true;
 
258.VideoReader_GPU :: close:发布视频阅读器;
 
259. VideoReader_GPU :: read:抓取,解码并返回nextvideo框架;
 
260. VideoReader_GPU :: format:返回有关视频文件格式的信息;
 
261. VideoReader_GPU :: dumpFormat:将有关视频fileformat的信息转储到指定的流;
 
262. class ::VideoReader_GPU :: VideoSource:视频解复用接口;
 
263. VideoReader_GPU :: VideoSource :: format:返回有关视频文件格式的信息;
 
264. VideoReader_GPU :: VideoSource :: start:开始处理;
 
265. VideoReader_GPU :: VideoSource :: stop:停止处理;
 
266. VideoReader_GPU :: VideoSource :: isStarted:如果处理成功启动,则返回true;
 
267. VideoReader_GPU :: VideoSource :: hasError:如果在处理过程中发生错误,则返回true;
 
268. VideoReader_GPU :: VideoSource :: parseVideoData:解析下一个视频帧,实现在抓取新帧后调用此方法;
 
 
 
 
    请记住:(1),GPU上没有双重支持;(2)不推荐将小功能移植到GPU,因为上传/下载时间将大于并行执行所获得的数量;(3)分配一次再次使用;(8),你在窗口上扔出内存分配和数据传输的价格。在GPU上,这是很高的。优化的另一种可能性是在gpu :: Stream的帮助下引入异步OpenCV GPU调用;(9),GPU上的内存分配是相当可观的。因此,如果可能的话,尽可能多地分配新的内存。如果你创建一个函数你打算多次调用,最好在第一次调用期间为函数分配一次本地参数一次。为此,您将创建一个包含将使用的所有局部变量的数据结构。如果新的矩阵大小与前一个矩阵大小不同,GpuMat将仅重新分配一个新的调用;(10)避免不必要的函数数据传输。一旦你去 GPU,任何小的数据传输将是重要的。因此,如果可能,就可以进行所有计算(换句话说,不会因为上一点解释的原因而创建新的内存对象)。例如,虽然表达算术运算可能更容易在一行公式中表达,但会慢一些;(11)使用异步调用(gpu :: Stream)。默认情况下,只要您调用gpu函数,它将等待调用完成,然后返回结果。然而,可以进行异步调用,这意味着它将调用操作执行,为算法提供昂贵的数据分配并立即返回。现在,如果你想这样做,可以调用另一个函数。使用流我们可以进行数据分配,GPU已经在执行给定的方法时上载操作。例如,我们需要上传两个图像。我们一个接一个地排队,并调用处理它的函数。这些功能将等待上传完成,但是会发生这种情况导致下一次执行功能的输出缓冲区分配。
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV中GPU模块(CUDA)函数

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]