caffe blob and cv::Mat

来源:互联网 发布:c语言中的运算符 编辑:程序博客网 时间:2024/05/21 21:38

总是忘记caffe blob和mat转化之间的行列优先级关系,索性写个博客.

例如,caffe某个blob的维度是(14,3,216,176),这个表示height=216,width=176,caffe是行优先的,也就是blob.cpu_data得到的指针(dataptr)

dataptr[1]=blob.data_at(0,0,0,1)

更一般的,

dataptr[n*channels*height*width+c*height*width+h*width+w]=blob.data_at(n,c,h,w)

接下来说一说opencv的Mat,假定Mat也是(3,216,176),rows=216=height, cols=176=width,

则mat.at<cv::Vec3f>(x,y)指的是第x行列的数据(例如at(78,40)值得是第78行第40列的数据)

0 0