Android Open Source - android-opencv-template Mat Of Key Point From Project Back to project page android-opencv-template .
License The source code is released under:
MIT License
If you think the Android project android-opencv-template listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package org.opencv.core;
/ / w w w . j a v a 2 s . c o m
import java.util.Arrays;
import java.util.List;
import org.opencv.features2d.KeyPoint;
public class MatOfKeyPoint extends Mat {
// 32FC7
private static final int _depth = CvType.CV_32F;
private static final int _channels = 7;
public MatOfKeyPoint() {
super ();
}
protected MatOfKeyPoint(long addr) {
super (addr);
if ( !empty() && checkVector(_channels, _depth) < 0 )
throw new IllegalArgumentException("Incompatible Mat" );
//FIXME: do we need release() here?
}
public static MatOfKeyPoint fromNativeAddr(long addr) {
return new MatOfKeyPoint(addr);
}
public MatOfKeyPoint(Mat m) {
super (m, Range.all());
if ( !empty() && checkVector(_channels, _depth) < 0 )
throw new IllegalArgumentException("Incompatible Mat" );
//FIXME: do we need release() here?
}
public MatOfKeyPoint(KeyPoint...a) {
super ();
fromArray(a);
}
public void alloc(int elemNumber) {
if (elemNumber>0)
super.create(elemNumber, 1, CvType.makeType(_depth, _channels));
}
public void fromArray(KeyPoint...a) {
if (a==null || a.length==0)
return ;
int num = a.length;
alloc(num);
float buff[] = new float [num * _channels];
for (int i=0; i<num; i++) {
KeyPoint kp = a[i];
buff[_channels*i+0] = (float ) kp.pt.x;
buff[_channels*i+1] = (float ) kp.pt.y;
buff[_channels*i+2] = kp.size;
buff[_channels*i+3] = kp.angle;
buff[_channels*i+4] = kp.response;
buff[_channels*i+5] = kp.octave;
buff[_channels*i+6] = kp.class_id;
}
put(0, 0, buff); //TODO: check ret val!
}
public KeyPoint[] toArray() {
int num = (int ) total();
KeyPoint[] a = new KeyPoint[num];
if (num == 0)
return a;
float buff[] = new float [num * _channels];
get(0, 0, buff); //TODO: check ret val!
for (int i=0; i<num; i++)
a[i] = new KeyPoint( buff[_channels*i+0], buff[_channels*i+1], buff[_channels*i+2], buff[_channels*i+3],
buff[_channels*i+4], (int ) buff[_channels*i+5], (int ) buff[_channels*i+6] );
return a;
}
public void fromList(List<KeyPoint> lkp) {
KeyPoint akp[] = lkp.toArray(new KeyPoint[0]);
fromArray(akp);
}
public List<KeyPoint> toList() {
KeyPoint[] akp = toArray();
return Arrays.asList(akp);
}
}
Java Source Code List com.floatlearning.android_opencv_template.MainActivity.java org.opencv.android.AsyncServiceHelper.java org.opencv.android.BaseLoaderCallback.java org.opencv.android.CameraBridgeViewBase.java org.opencv.android.FpsMeter.java org.opencv.android.InstallCallbackInterface.java org.opencv.android.JavaCameraView.java org.opencv.android.LoaderCallbackInterface.java org.opencv.android.NativeCameraView.java org.opencv.android.OpenCVLoader.java org.opencv.android.StaticHelper.java org.opencv.android.Utils.java org.opencv.calib3d.Calib3d.java org.opencv.calib3d.StereoBM.java org.opencv.calib3d.StereoSGBM.java org.opencv.contrib.Contrib.java org.opencv.contrib.FaceRecognizer.java org.opencv.contrib.StereoVar.java org.opencv.core.Algorithm.java org.opencv.core.Core.java org.opencv.core.CvException.java org.opencv.core.CvType.java org.opencv.core.MatOfByte.java org.opencv.core.MatOfDMatch.java org.opencv.core.MatOfDouble.java org.opencv.core.MatOfFloat4.java org.opencv.core.MatOfFloat6.java org.opencv.core.MatOfFloat.java org.opencv.core.MatOfInt4.java org.opencv.core.MatOfInt.java org.opencv.core.MatOfKeyPoint.java org.opencv.core.MatOfPoint2f.java org.opencv.core.MatOfPoint3.java org.opencv.core.MatOfPoint3f.java org.opencv.core.MatOfPoint.java org.opencv.core.MatOfRect.java org.opencv.core.Mat.java org.opencv.core.Point3.java org.opencv.core.Point.java org.opencv.core.Range.java org.opencv.core.Rect.java org.opencv.core.RotatedRect.java org.opencv.core.Scalar.java org.opencv.core.Size.java org.opencv.core.TermCriteria.java org.opencv.features2d.DMatch.java org.opencv.features2d.DescriptorExtractor.java org.opencv.features2d.DescriptorMatcher.java org.opencv.features2d.FeatureDetector.java org.opencv.features2d.Features2d.java org.opencv.features2d.GenericDescriptorMatcher.java org.opencv.features2d.KeyPoint.java org.opencv.gpu.DeviceInfo.java org.opencv.gpu.Gpu.java org.opencv.gpu.TargetArchs.java org.opencv.highgui.Highgui.java org.opencv.highgui.VideoCapture.java org.opencv.imgproc.CLAHE.java org.opencv.imgproc.Imgproc.java org.opencv.imgproc.Moments.java org.opencv.imgproc.Subdiv2D.java org.opencv.ml.CvANN_MLP_TrainParams.java org.opencv.ml.CvANN_MLP.java org.opencv.ml.CvBoostParams.java org.opencv.ml.CvBoost.java org.opencv.ml.CvDTreeParams.java org.opencv.ml.CvDTree.java org.opencv.ml.CvERTrees.java org.opencv.ml.CvGBTreesParams.java org.opencv.ml.CvGBTrees.java org.opencv.ml.CvKNearest.java org.opencv.ml.CvNormalBayesClassifier.java org.opencv.ml.CvParamGrid.java org.opencv.ml.CvRTParams.java org.opencv.ml.CvRTrees.java org.opencv.ml.CvSVMParams.java org.opencv.ml.CvSVM.java org.opencv.ml.CvStatModel.java org.opencv.ml.EM.java org.opencv.ml.Ml.java org.opencv.objdetect.CascadeClassifier.java org.opencv.objdetect.HOGDescriptor.java org.opencv.objdetect.Objdetect.java org.opencv.photo.Photo.java org.opencv.utils.Converters.java org.opencv.video.BackgroundSubtractorMOG2.java org.opencv.video.BackgroundSubtractorMOG.java org.opencv.video.BackgroundSubtractor.java org.opencv.video.KalmanFilter.java org.opencv.video.Video.java