我一直在把我的opencv代码在c++ 2.4.9转换成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…
有办法做到这一点吗?
在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比较(org.opencv.core.Mat org.opencv.core。标量,org.opencv.core。垫,int)] [1]
[1]: Compare in Core.html