BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #4570同步于 2009/4/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖

【求助】该使用什么数据结构?

simon2062
2009/4/1镜像同步19 回复
我需要画一个计算车辆位置的直方图。文献里说的是Vehicle Histogram。但实际上跟OpenCV里的直方图不太一样。我准备处理的是一个交通视频,需要的是计算每一帧里每辆车的位置,然后在“车辆直方图 ”(就是一个和图像同样大小的矩阵)里对应位置加1.每一帧都这样处理,将结果加在那个车辆直方图里。最后根据点的密度得到一个近似的轨迹。 假设我已经能够得到每一帧车辆的中心位置。那么我需要找一个数据结构作为那个“车辆直方图”。那么这个矩阵应该用IplImage, CvMat, 二维数组,还是vector<vector<int> >?因为我不确定哪一种效能更高,或是写入更方便,或者更适合我的这个应用。 谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
gootyking机器人#1 · 2009/4/1
一般情况我都用vector了。。。 【 在 simon2062 (Simon) 的大作中提到: 】 : 我需要画一个计算车辆位置的直方图。文献里说的是Vehicle Histogram。但实际上跟OpenCV里的直方图不太一样。我准备处理的是一个交通视频,需要的是计算每一帧里每辆车的位置,然后在“车辆直方图 ”(就是一个和图像同样大小的矩阵)里对应位置加1.每一帧都这样处理,将 : 假设我已经能够得到每一帧车辆的中心位置。那么我需要找一个数据结构作为那个“车辆直方图”。那么这个矩阵应该用IplImage, CvMat, 二维数组,还是vector<vector<int> >?因为我不确定哪一种效能更高,或是写入更方便,或者更适合我的这个应用。 : 谢谢! : ...................
PtwCJ机器人#2 · 2009/4/1
size是固定的吧? 能保证自己的代码不越界就用数组呗
zixu1986机器人#3 · 2009/4/1
得到之后接着要怎么用? 如果要visualize的话可以用IplImage 弄个8 bit 1 channel的 先cvZero一下 然后来一个数据的点(x,y)就加一 CV_IMAGE_ELEM(vehicle_hist, uchar, y, x)++; 要显示的话就直接 cvShowImage("show_win_name", vehicle_hist);
simon2062机器人#4 · 2009/4/1
我最初准备用vector。因为上次准备用CvMat结果各种出错,就干脆用vector。但这次是二维的。我还没有用过vector<vector<int> >。不知道好不好用,效率是否高? 【 在 gootyking 的大作中提到: 】 : 一般情况我都用vector了。。。
simon2062机器人#5 · 2009/4/1
2-D array仿佛最适合。不过我后来可能会想显示它(当然只是可能),或者用一些openCV里的函数。当然应该可以转化。但那样是否不如直接用IplImage? 我也不清楚。当然我觉得在对它的操作会经常涉及访问元素。感觉OpenCV里访问元素挺麻烦的。 【 在 PtwCJ 的大作中提到: 】 : size是固定的吧? : 能保证自己的代码不越界就用数组呗
gootyking机器人#6 · 2009/4/1
不是特别大的数据量,效率没问题的吧。。。反正用了vector我基本上抛弃了数组。。囧。-。- 【 在 simon2062 (Simon) 的大作中提到: 】 : 我最初准备用vector。因为上次准备用CvMat结果各种出错,就干脆用vector。但这次是二维的。我还没有用过vector<vector<int> >。不知道好不好用,效率是否高?
simon2062机器人#7 · 2009/4/1
IplImage我担心的主要是效率,我的操作主要是访问元素,然后+1。是否效率不如直接用array,还是差别可忽略? 还有一个问题就是我应该8bit应该不够用。那要是我对2500帧作统计,很有可能有些点超过255.会不会超过255的数就直接归为255了? 【 在 zixu1986 的大作中提到: 】 : 得到之后接着要怎么用? : 如果要visualize的话可以用IplImage : 弄个8 bit 1 channel的 : ...................
simon2062机器人#8 · 2009/4/1
呵呵。我也很少用数组。但OpenCV里都是些数组,让我觉得比较郁闷。 【 在 gootyking 的大作中提到: 】 : 不是特别大的数据量,效率没问题的吧。。。反正用了vector我基本上抛弃了数组。。囧。-。-
gootyking机器人#9 · 2009/4/1
呃。。我没有用哎。。呃。。。我直接用IplImage,然后里面数据可以用data[i*step+j]读取,这是灰度,rgb还要加个参数吧。。。。 【 在 simon2062 (Simon) 的大作中提到: 】 : 呵呵。我也很少用数组。但OpenCV里都是些数组,让我觉得比较郁闷。