2012-12-15 132 views
0

我想在JavaCV中使用Camshift跟踪人脸。我已经找到了打开CV等同于:使用javaCV跟踪对象

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); 
} 

回答

0

好了,我们可以定义一个类似于struct TrackedObj这样class

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);