Измените код C ++ opencv на java с помощью javacv

Я хочу изменить код из примера OpenCV Camshift в C ++ для Java с JavaCV

вот часть примера кода Camshift в C ++

#include "opencv2/video/tracking.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <ctype.h>

using namespace cv;
using namespace std;

Mat image;

bool backprojMode = false;
bool selectObject = false;
int trackObject = 0;
bool showHist = true;
Point origin;
Rect selection;
int vmin = 10, vmax = 256, smin = 30;

static void onMouse( int event, int x, int y, int, void* )
{
if( selectObject )
{
selection.x = MIN(x, origin.x);
selection.y = MIN(y, origin.y);
selection.width = std::abs(x - origin.x);
selection.height = std::abs(y - origin.y);

selection &= Rect(0, 0, image.cols, image.rows);
}

switch( event )
{
case CV_EVENT_LBUTTONDOWN:
origin = Point(x,y);
selection = Rect(x,y,0,0);
selectObject = true;
break;
case CV_EVENT_LBUTTONUP:
selectObject = false;
if( selection.width > 0 && selection.height > 0 )
trackObject = -1;
break;
}
}

Моя первая проблема в функции onMouse. Я не знаю, как изменить этот код:

selection &= Rect(0, 0, image.cols, image.rows);

в эквивалентный код Java. я пытаюсь сделать то же самое, что и код C ++, но это ошибка в этой строке.
Как это решить?

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]