opencv c ++ to java distance transform

时间:2015-05-30 21:27:54

标签: java opencv

我一直在将c ++ 2.4.9中的opencv代码转换为java,但我一直无法使用此代码。

c ++代码

Mat Gradient;
Mat edge = MeanShift >= 225, dist;
cvtColor(edge, edge, CV_BGR2GRAY); 
distanceTransform(edge, dist, CV_DIST_L2, CV_DIST_MASK_5);
dist *= 65655;
pow(dist, 2, dist);
dist.convertTo(Gradient, CV_8U, 1, 0.1);
threshold(Gradient, Gradient, 2, 255, CV_THRESH_BINARY);

imshow("Gradient before", Gradient);

我真的很困惑如何得到相当于Mat edge = MeanShift> = 225,dist;在java ...

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

在C ++中,这将在Mat对象上调用运算符> =,然后在结果Mat edge上调用逗号运算符。

基本上这段代码可以:

Mat edge = MeanShift.operator>=(225);
edge.operator,(dist);

所以正确看的地方首先是C ++运算符,然后是Java中的compare函数。

我认为我可以在这里找到后者:

[http://docs.opencv.org/java/org/opencv/core/Core.html#compare(org.opencv.core.Mat,org.opencv.core.Scalar,org.opencv.core.Mat,int)] [1]

[1]:在Core.html中进行比较