本文整理汇总了Java中org.opencv.features2d.Features2d.drawKeypoints方法的典型用法代码示例。如果您正苦于以下问题:Java Features2d.drawKeypoints方法的具体用法?Java Features2d.drawKeypoints怎么用?Java Features2d.drawKeypoints使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.opencv.features2d.Features2d
的用法示例。
在下文中一共展示了Features2d.drawKeypoints方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: drawFeatures
import org.opencv.features2d.Features2d; //导入方法依赖的package包/类
public void drawFeatures(Mat rgba){
MatOfKeyPoint keyPoints = new MatOfKeyPoint();
Imgproc.cvtColor(rgba, rgba, Imgproc.COLOR_RGBA2RGB);
fDetector.detect(rgba, keyPoints);
Features2d.drawKeypoints(rgba,keyPoints,rgba);
Imgproc.cvtColor(rgba, rgba, Imgproc.COLOR_RGB2RGBA);
}
示例2: withFAST
import org.opencv.features2d.Features2d; //导入方法依赖的package包/类
public Path withFAST(Mat currFrame, Mat mOutFrame, Path path) {
MatOfKeyPoint currKeyPoints = new MatOfKeyPoint();
float fPointX, fPointY;
mFeatureDectector.detect(currFrame, currKeyPoints);
Features2d.drawKeypoints(currFrame, currKeyPoints, mOutFrame, mKeyPointsColor, 0);
if (mPrevFrame != null) {
// now lets get out rigidTransformation for orientation vector
try {
Mat movement = estimateRigidTransform(mOutFrame, mPrevFrame, false);
//Mat movement = findHomography(currPoints2f, prevPoints2f, Calib3d.LMEDS, 1.2f);
if (!movement.empty()) {
fPointX = (float) (movement.get(0, 2)[0]);
fPointY = (float) (movement.get(1, 2)[0]);
Log.i(TAG, "Adding to path (" + Float.toString(fPointX) + "," + Float.toString(fPointY) + ")");
path.rLineTo(fPointX, fPointY);
}
} catch (CvException e) {
Log.i(TAG, "Vectors are the same");
//e.printStackTrace();
}
}
mOutFrame.copyTo(mPrevFrame);
return path;
}
示例3: detectFeatures
import org.opencv.features2d.Features2d; //导入方法依赖的package包/类
@NonNull
private Mat detectFeatures(Mat skeleton, Mat edges) {
FeatureDetector star = FeatureDetector.create(FeatureDetector.ORB);
DescriptorExtractor brief = DescriptorExtractor.create(DescriptorExtractor.ORB);
MatOfKeyPoint keypoints = new MatOfKeyPoint();
star.detect(skeleton, keypoints);
keypointsField = keypoints;
KeyPoint[] keypointArray = keypoints.toArray();
ArrayList<KeyPoint> filteredKeypointArray = new ArrayList<>(keypointArray.length);
int filterCount = 0;
for (KeyPoint k : keypointArray) {
if (edges.get((int)k.pt.y, (int)k.pt.x)[0] <= 0.0) {
k.size /= 8;
filteredKeypointArray.add(k);
} else {
filterCount++;
}
}
Log.d(TAG, String.format("Filtered %s Keypoints", filterCount));
keypoints.fromList(filteredKeypointArray);
Mat descriptors = new Mat();
brief.compute(skeleton, keypoints, descriptors);
descriptorsField = descriptors;
Mat results = new Mat();
Scalar color = new Scalar(255, 0, 0); // RGB
Features2d.drawKeypoints(skeleton, keypoints, results, color, Features2d.DRAW_RICH_KEYPOINTS);
return results;
}