Fix/optimize Android put/get functions
This commit is contained in:
@@ -455,6 +455,27 @@ public class MatTest extends OpenCVTestCase {
|
||||
bytesNum = sm.get(1, 1, buff11);
|
||||
assertEquals(4, bytesNum);
|
||||
assertTrue(Arrays.equals(new short[] {340, 341, 0, 0}, buff11));
|
||||
|
||||
Mat m2 = new Mat(new int[]{ 5, 6, 8 }, CvType.CV_16S);
|
||||
short[] data = new short[(int)m2.total()];
|
||||
for (int i = 0; i < data.length; i++ ) {
|
||||
data[i] = (short)i;
|
||||
}
|
||||
m2.put(new int[] {0, 0, 0}, data);
|
||||
Mat matNonContinuous = m2.submat(new Range[]{new Range(1,4), new Range(2,5), new Range(3,6)});
|
||||
Mat matContinuous = matNonContinuous.clone();
|
||||
short[] outNonContinuous = new short[(int)matNonContinuous.total()];
|
||||
matNonContinuous.get(new int[] { 0, 0, 0 }, outNonContinuous);
|
||||
short[] outContinuous = new short[(int)matNonContinuous.total()];
|
||||
matContinuous.get(new int[] { 0, 0, 0 }, outContinuous);
|
||||
assertArrayEquals(outNonContinuous, outContinuous);
|
||||
Mat subMat2 = m2.submat(new Range[]{new Range(1,4), new Range(1,5), new Range(0,8)});
|
||||
Mat subMatClone2 = subMat2.clone();
|
||||
short[] outNonContinuous2 = new short[(int)subMat2.total()];
|
||||
subMat2.get(new int[] { 0, 1, 1 }, outNonContinuous2);
|
||||
short[] outContinuous2 = new short[(int)subMat2.total()];
|
||||
subMatClone2.get(new int[] { 0, 1, 1 }, outContinuous2);
|
||||
assertArrayEquals(outNonContinuous2, outContinuous2);
|
||||
}
|
||||
|
||||
public void testGetNativeObjAddr() {
|
||||
|
||||
Reference in New Issue
Block a user