使用javaCV跟踪对象

时间:2012-12-15 12:55:43

标签: tracking javacv

我正在尝试使用JavaCV中的Camshift跟踪面部。我在以下网址找到了Open CV:

https://gist.github.com/231696

我已经成功地转换了大部分代码,但很难在JavaCV中弄清楚以下内容的等价物。任何帮助都将非常感激。

TrackedObj* obj;

if((obj = malloc(sizeof *obj)) != NULL) {

obj->hsv  = cvCreateImage(cvGetSize(image), 8, 3);
obj->mask = cvCreateImage(cvGetSize(image), 8, 1);
obj->hue  = cvCreateImage(cvGetSize(image), 8, 1);
obj->prob = cvCreateImage(cvGetSize(image), 8, 1);
}

1 个答案:

答案 0 :(得分:0)

好吧,我们可以像class那样定义struct TrackedObj,类似于:

class TrackedObj {
    IplImage hsv;
    IplImage hue;
    IplImage mask;
    IplImage prob;
    CvHistogram hist;
    CvRect prev_rect;
    CvBox2D curr_box;
} 

我们可以用类似的方式翻译你指出的代码:

TrackedObj obj = new TrackedObj();
obj.hsv  = cvCreateImage(cvGetSize(image), 8, 3);
obj.mask = cvCreateImage(cvGetSize(image), 8, 1);
obj.hue  = cvCreateImage(cvGetSize(image), 8, 1);
obj.prob = cvCreateImage(cvGetSize(image), 8, 1);