请问opencv的GPU模块里,与GpuMat挂钩的PtrStep 和 PtrStepSz两个数据结构有啥区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问opencv的GPU模块里,与GpuMat挂钩的PtrStep 和 PtrStepSz两个数据结构有啥区别?相关的知识,希望对你有一定的参考价值。
我看源代码貌似PtrStepSz继承于PtrStep,但是关于为什么要单独写一个子结构不太明白。
参考技术A func mergeSort(r []int) []intlength := len(r)
if length <= 1
return r
num := length / 2
left := mergeSort(r[:num])
right := mergeSort(r[num:])
return merge(left, right)
func merge(left, right []int) (result []int)
l, r := 0, 0
for l < len(left) && r < len(right)
if left[l] < right[r]
result = append(result, left[l])
l++
else
result = append(result, right[r])
r++
result = append(result, left[l:]...)
result = append(result, right[r:]...)
return
GpuMat ROI
-
在引用GpuMat数据的ROI时,需要保证该数据在Gpu 内存中存储是连续的。使用gpu::createContinuous创建连续空间。
-
cuda::GpuMat dst_pyr_laplace_tmp(dst_pyr_laplace_gpu(rc)); 或者 cuda::GpuMat dst_pyr_laplace_tmp = dst_pyr_laplace_gpu(rc); // 备注:以上两种方式是浅拷贝,改变dst_pyr_laplace_tmp 内存数据,也相应改变dst_pyr_laplace_gpu对应的ROI内存数据
以上是关于请问opencv的GPU模块里,与GpuMat挂钩的PtrStep 和 PtrStepSz两个数据结构有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章