我一直在将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 ...
有办法做到这一点吗?
答案 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中进行比较