java – 使用MatOfKeyPoint和feature2d检测的Android OpenCV

我在正确使用OpenCV Java库时遇到问题,以下代码崩溃:
MatOfKeyPoint keypoints = new MatOfKeyPoint();
this.myFeatures.detect(inputimage,keypoints);

我认为关键点是这个可变对象,我将其传递给检测功能并接收回来.例如.后来我想做:

Features2d.drawKeypoints(inputimage,keypoints,outputimage);

在这做错了什么?谢谢.

解决方法

问题已解决 – 您不仅需要转换颜色类型,而且SURF算法不可用,至少在我的库中是这样.这是工作代码
myFeatures = FeatureDetector.create(FeatureDetector.FAST);
rgb = new Mat();
outputimage = new Mat();
keypoints = new MatOfKeyPoint();

Imgproc.cvtColor(inputimage,rgb,Imgproc.COLOR_RGBA2RGB);
myFeatures.detect(rgb,keypoints);
Features2d.drawKeypoints(rgb,rgb);
Imgproc.cvtColor(rgb,outputimage,Imgproc.COLOR_RGB2RGBA);

我希望他们比致命信号11更好地回复错误……

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...