CLAHE Python bindings
[profile/ivi/opencv.git] / modules / java / generator / src / java / core+MatOfFloat6.java
1 package org.opencv.core;
2
3 import java.util.Arrays;
4 import java.util.List;
5
6 public class MatOfFloat6 extends Mat {
7     // 32FC6
8     private static final int _depth = CvType.CV_32F;
9     private static final int _channels = 6;
10
11     public MatOfFloat6() {
12         super();
13     }
14
15     protected MatOfFloat6(long addr) {
16         super(addr);
17         if( !empty() && checkVector(_channels, _depth) < 0 )
18             throw new IllegalArgumentException("Incomatible Mat");
19         //FIXME: do we need release() here?
20     }
21
22     public static MatOfFloat6 fromNativeAddr(long addr) {
23         return new MatOfFloat6(addr);
24     }
25
26     public MatOfFloat6(Mat m) {
27         super(m, Range.all());
28         if( !empty() && checkVector(_channels, _depth) < 0 )
29             throw new IllegalArgumentException("Incomatible Mat");
30         //FIXME: do we need release() here?
31     }
32
33     public MatOfFloat6(float...a) {
34         super();
35         fromArray(a);
36     }
37
38     public void alloc(int elemNumber) {
39         if(elemNumber>0)
40             super.create(elemNumber, 1, CvType.makeType(_depth, _channels));
41     }
42
43     public void fromArray(float...a) {
44         if(a==null || a.length==0)
45             return;
46         int num = a.length / _channels;
47         alloc(num);
48         put(0, 0, a); //TODO: check ret val!
49     }
50
51     public float[] toArray() {
52         int num = checkVector(_channels, _depth);
53         if(num < 0)
54             throw new RuntimeException("Native Mat has unexpected type or size: " + toString());
55         float[] a = new float[num * _channels];
56         if(num == 0)
57             return a;
58         get(0, 0, a); //TODO: check ret val!
59         return a;
60     }
61
62     public void fromList(List<Float> lb) {
63         if(lb==null || lb.size()==0)
64             return;
65         Float ab[] = lb.toArray(new Float[0]);
66         float a[] = new float[ab.length];
67         for(int i=0; i<ab.length; i++)
68             a[i] = ab[i];
69         fromArray(a);
70     }
71
72     public List<Float> toList() {
73         float[] a = toArray();
74         Float ab[] = new Float[a.length];
75         for(int i=0; i<a.length; i++)
76             ab[i] = a[i];
77         return Arrays.asList(ab);
78     }
79 }