1 package org.opencv.core;
3 import java.util.Arrays;
7 public class MatOfInt4 extends Mat {
9 private static final int _depth = CvType.CV_32S;
10 private static final int _channels = 4;
16 protected MatOfInt4(long addr) {
18 if( !empty() && checkVector(_channels, _depth) < 0 )
19 throw new IllegalArgumentException("Incompatible Mat");
20 //FIXME: do we need release() here?
23 public static MatOfInt4 fromNativeAddr(long addr) {
24 return new MatOfInt4(addr);
27 public MatOfInt4(Mat m) {
28 super(m, Range.all());
29 if( !empty() && checkVector(_channels, _depth) < 0 )
30 throw new IllegalArgumentException("Incompatible Mat");
31 //FIXME: do we need release() here?
34 public MatOfInt4(int...a) {
39 public void alloc(int elemNumber) {
41 super.create(elemNumber, 1, CvType.makeType(_depth, _channels));
44 public void fromArray(int...a) {
45 if(a==null || a.length==0)
47 int num = a.length / _channels;
49 put(0, 0, a); //TODO: check ret val!
52 public int[] toArray() {
53 int num = checkVector(_channels, _depth);
55 throw new RuntimeException("Native Mat has unexpected type or size: " + toString());
56 int[] a = new int[num * _channels];
59 get(0, 0, a); //TODO: check ret val!
63 public void fromList(List<Integer> lb) {
64 if(lb==null || lb.size()==0)
66 Integer ab[] = lb.toArray(new Integer[0]);
67 int a[] = new int[ab.length];
68 for(int i=0; i<ab.length; i++)
73 public List<Integer> toList() {
75 Integer ab[] = new Integer[a.length];
76 for(int i=0; i<a.length; i++)
78 return Arrays.asList(ab);