OpenCV-在C+上转换DCT+;到Android:java.lang.IndexOutOfBoundsException:索引0无效,大小为0 我试图把C++ DCT代码转换成Android。下面是我在Android上尝试从C++转换为OpenCV的代码。但是,我得到了这个错误:
Java.lang.IndexOutOfBoundsException:索引0无效,大小为0 我发现“外线”是0。是否可以设置ArrayList大小,或者我是否遗漏了什么?老实说,我不确定这段代码是否有效。请告诉我该怎么做。非常感谢你OpenCV-在C+上转换DCT+;到Android:java.lang.IndexOutOfBoundsException:索引0无效,大小为0 我试图把C++ DCT代码转换成Android。下面是我在Android上尝试从C++转换为OpenCV的代码。但是,我得到了这个错误:,java,android,opencv,Java,Android,Opencv,Java.lang.IndexOutOfBoundsException:索引0无效,大小为0 我发现“外线”是0。是否可以设置ArrayList大小,或者我是否遗漏了什么?老实说,我不确定这段代码是否有效。请告诉我该怎么做。非常感谢你 Mat secondImage = new Mat(); secondImage = image.clone(); List<Mat> planes = new ArrayList<Mat>(); Core.split(secondIm
Mat secondImage = new Mat();
secondImage = image.clone();
List<Mat> planes = new ArrayList<Mat>();
Core.split(secondImage, planes);
List<Mat> outplanes = new ArrayList<Mat>(planes.size());
Mat trans = new Mat(CvType.CV_32FC1);
Log.d("Planes", Integer.toString(planes.size())); //3
Log.d("Outplanes", Integer.toString(outplanes.size()));
for (int k = 0; k < planes.size(); k++) {
planes.get(k).convertTo(planes.get(k),CvType.CV_32FC1);
Core.dct(planes.get(k), outplanes.get(k));
outplanes.get(k).convertTo(outplanes.get(k),CvType.CV_8UC1);
}
Core.merge(outplanes, trans);
Mat secondImage=new Mat();
secondImage=image.clone();
列表平面=新的ArrayList();
Core.split(第二个图像,平面);
List outplanes=newarraylist(planes.size());
Mat trans=新的Mat(CvType.CV_32FC1);
Log.d(“Planes”,Integer.toString(Planes.size())//3.
Log.d(“Outplanes”,Integer.toString(Outplanes.size());
对于(int k=0;k
呼叫:
List<Mat> outplanes = new ArrayList<Mat>(planes.size());
初始化Outplane后,错误就会消失
再看看这个:
outplanes.addAll(planes);