本文整理汇总了Java中org.opencv.features2d.Features2d类的典型用法代码示例。如果您正苦于以下问题:Java Features2d类的具体用法?Java Features2d怎么用?Java Features2d使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Features2d类属于org.opencv.features2d包,在下文中一共展示了Features2d类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: drawMatches
import org.opencv.features2d.Features2d; //导入依赖的package包/类
static Mat drawMatches(Mat img1, MatOfKeyPoint key1, Mat img2, MatOfKeyPoint key2, MatOfDMatch matches, boolean imageOnly){
//https://github.com/mustafaakin/image-matcher/tree/master/src/in/mustafaak/imagematcher
Mat out = new Mat();
Mat im1 = new Mat();
Mat im2 = new Mat();
Imgproc.cvtColor(img1, im1, Imgproc.COLOR_GRAY2RGB);
Imgproc.cvtColor(img2, im2, Imgproc.COLOR_GRAY2RGB);
if ( imageOnly){
MatOfDMatch emptyMatch = new MatOfDMatch();
MatOfKeyPoint emptyKey1 = new MatOfKeyPoint();
MatOfKeyPoint emptyKey2 = new MatOfKeyPoint();
Features2d.drawMatches(im1, emptyKey1, im2, emptyKey2, emptyMatch, out);
} else {
Features2d.drawMatches(im1, key1, im2, key2, matches, out);
}
//Bitmap bmp = Bitmap.createBitmap(out.cols(), out.rows(), Bitmap.Config.ARGB_8888);
Imgproc.cvtColor(out, out, Imgproc.COLOR_BGR2RGB);
Imgproc.putText(out, "Frame", new Point(img1.width() / 2,30), Core.FONT_HERSHEY_PLAIN, 2, new Scalar(0,255,255),3);
Imgproc.putText(out, "Match", new Point(img1.width() + img2.width() / 2,30), Core.FONT_HERSHEY_PLAIN, 2, new Scalar(255,0,0),3);
return out;
}
开发者ID:johnhany,项目名称:MOAAP,代码行数:22,代码来源:MainActivity.java
示例2: drawCurrentMatches
import org.opencv.features2d.Features2d; //导入依赖的package包/类
public Mat drawCurrentMatches(int n)
{
Mat img1 = CURRENT_QUERY_IMAGE.image();
MatOfKeyPoint kp1= CURRENT_QUERY_IMAGE.keyPoints();
Mat img2 = CURRENT_RESULT_IMAGE.image();
MatOfKeyPoint kp2= CURRENT_RESULT_IMAGE.keyPoints();
Mat result = new Mat();
Features2d.drawMatches(img1, kp1, img2, kp2,
sortedKMatches(CURRENT_GOOD_MATCHES,0,n), result);
return result;
}
开发者ID:WriterOfAlicrow,项目名称:OpenCVTour,代码行数:13,代码来源:ImageDetector.java
示例3: 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);
}
开发者ID:WriterOfAlicrow,项目名称:OpenCVTour,代码行数:8,代码来源:ImageDetector.java
示例4: 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;
}
开发者ID:Letme,项目名称:second_eyes,代码行数:29,代码来源:ExtractPath.java
示例5: 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;
}
开发者ID:jorenham,项目名称:fingerblox,代码行数:35,代码来源:ImageProcessing.java
示例6: recognize
import org.opencv.features2d.Features2d; //导入依赖的package包/类
public Mat recognize(Mat aInputFrame) {
Imgproc.cvtColor(aInputFrame, aInputFrame, Imgproc.COLOR_RGB2GRAY);
descriptors2 = new Mat();
keypoints2 = new MatOfKeyPoint();
detector.detect(aInputFrame, keypoints2);
descriptor.compute(aInputFrame, keypoints2, descriptors2);
// Matching
MatOfDMatch matches = new MatOfDMatch();
if (img1.type() == aInputFrame.type()) {
matcher.match(descriptors1, descriptors2, matches);
} else {
return aInputFrame;
}
List<DMatch> matchesList = matches.toList();
Double max_dist = 0.0;
Double min_dist = 100.0;
for (int i = 0; i < matchesList.size(); i++) {
Double dist = (double) matchesList.get(i).distance;
if (dist < min_dist)
min_dist = dist;
if (dist > max_dist)
max_dist = dist;
}
LinkedList<DMatch> good_matches = new LinkedList<DMatch>();
for (int i = 0; i < matchesList.size(); i++) {
if (matchesList.get(i).distance <= (1.5 * min_dist))
good_matches.addLast(matchesList.get(i));
}
MatOfDMatch goodMatches = new MatOfDMatch();
goodMatches.fromList(good_matches);
Mat outputImg = new Mat();
MatOfByte drawnMatches = new MatOfByte();
if (aInputFrame.empty() || aInputFrame.cols() < 1 || aInputFrame.rows() < 1) {
return aInputFrame;
}
Features2d.drawMatches(img1, keypoints1, aInputFrame, keypoints2, goodMatches, outputImg, GREEN, RED, drawnMatches, Features2d.NOT_DRAW_SINGLE_POINTS);
Imgproc.resize(outputImg, outputImg, aInputFrame.size());
return outputImg;
}
开发者ID:akshika47,项目名称:OpencvAndroid,代码行数:47,代码来源:MainActivity.java
注:本文中的org.opencv.features2d.Features2d类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论