static {\r
System.loadLibrary("opencv_java");\r
}\r
+""" % {"module" : module} )\r
\r
- public static final int\r
+ if module == "core":\r
+ self.java_code.write(\\r
+"""\r
+ private static final int\r
CV_8U = 0,\r
CV_8S = 1,\r
CV_16U = 2,\r
CV_32S = 4,\r
CV_32F = 5,\r
CV_64F = 6,\r
- CV_USRTYPE1 = 7,\r
+ CV_USRTYPE1 = 7;\r
+\r
+""" )\r
+\r
+ if module == "imgproc":\r
+ self.java_code.write(\\r
+"""\r
+ public static final int\r
IPL_BORDER_CONSTANT = 0,\r
IPL_BORDER_REPLICATE = 1,\r
IPL_BORDER_REFLECT = 2,\r
IPL_BORDER_WRAP = 3,\r
IPL_BORDER_REFLECT_101 = 4,\r
IPL_BORDER_TRANSPARENT = 5;\r
-""" % {"module" : module} )\r
-\r
+""" )\r
# cpp module header\r
self.cpp_code.write(\\r
"""// This file is auto-generated, please don't edit!\r
--- /dev/null
+package org.opencv;\r
+\r
+\r
+public final class CvType {\r
+ \r
+ // predefined type constants\r
+ public static final CvType\r
+ CV_8UC1 = CV_8UC(1), CV_8UC2 = CV_8UC(2), CV_8UC3 = CV_8UC(3), CV_8UC4 = CV_8UC(4),\r
+ CV_8SC1 = CV_8SC(1), CV_8SC2 = CV_8SC(2), CV_8SC3 = CV_8SC(3), CV_8SC4 = CV_8SC(4),\r
+ CV_16UC1 = CV_16UC(1), CV_16UC2 = CV_16UC(2), CV_16UC3 = CV_16UC(3), CV_16UC4 = CV_16UC(4),\r
+ CV_16SC1 = CV_16SC(1), CV_16SC2 = CV_16SC(2), CV_16SC3 = CV_16SC(3), CV_16SC4 = CV_16SC(4),\r
+ CV_32SC1 = CV_32SC(1), CV_32SC2 = CV_32SC(2), CV_32SC3 = CV_32SC(3), CV_32SC4 = CV_32SC(4),\r
+ CV_32FC1 = CV_32FC(1), CV_32FC2 = CV_32FC(2), CV_32FC3 = CV_32FC(3), CV_32FC4 = CV_32FC(4),\r
+ CV_64FC1 = CV_64FC(1), CV_64FC2 = CV_64FC(2), CV_64FC3 = CV_64FC(3), CV_64FC4 = CV_64FC(4);\r
+ \r
+ // type depth constants\r
+ public static final int CV_8U = 0, \r
+ CV_8S = 1, \r
+ CV_16U = 2, \r
+ CV_16S = 3, \r
+ CV_32S = 4, \r
+ CV_32F = 5, \r
+ CV_64F = 6, \r
+ CV_USRTYPE1=7;\r
+ \r
+ private static final int CV_CN_MAX = 512, CV_CN_SHIFT = 3, CV_DEPTH_MAX = (1 << CV_CN_SHIFT);\r
+\r
+ private final int value;\r
+ \r
+ protected CvType(int depth, int channels) {\r
+ if(channels<=0 || channels>=CV_CN_MAX) {\r
+ throw new java.lang.UnsupportedOperationException(\r
+ "Channels count should be 1.." + (CV_CN_MAX-1) );\r
+ }\r
+ if(depth<0 || depth>=CV_DEPTH_MAX) {\r
+ throw new java.lang.UnsupportedOperationException(\r
+ "Data type depth should be 0.." + (CV_DEPTH_MAX-1) );\r
+ }\r
+ value = (depth & (CV_DEPTH_MAX-1)) + ((channels-1) << CV_CN_SHIFT); \r
+ }\r
+\r
+ protected CvType(int val) { value = val; }\r
+\r
+ public static final CvType CV_8UC(int ch) { return new CvType(CV_8U, ch); }\r
+ \r
+ public static final CvType CV_8SC(int ch) { return new CvType(CV_8S, ch); }\r
+ \r
+ public static final CvType CV_16UC(int ch) { return new CvType(CV_16U, ch); }\r
+ \r
+ public static final CvType CV_16SC(int ch) { return new CvType(CV_16S, ch); }\r
+ \r
+ public static final CvType CV_32SC(int ch) { return new CvType(CV_32S, ch); }\r
+ \r
+ public static final CvType CV_32FC(int ch) { return new CvType(CV_32F, ch); }\r
+ \r
+ public static final CvType CV_64FC(int ch) { return new CvType(CV_64F, ch); }\r
+ \r
+ public final int toInt() { return value; }\r
+ \r
+ public final int channels() { return (value >> CV_CN_SHIFT) + 1; }\r
+ \r
+ public final int depth() { return value & (CV_DEPTH_MAX-1); }\r
+ \r
+ public final boolean isInteger() { return depth() < CV_32F; }\r
+\r
+ public final int CV_ELEM_SIZE() { \r
+ switch (depth()) {\r
+ case CV_8U:\r
+ case CV_8S:\r
+ return channels();\r
+ case CV_16U:\r
+ case CV_16S:\r
+ return 2 * channels();\r
+ case CV_32S:\r
+ case CV_32F:\r
+ return 4 * channels();\r
+ case CV_64F:\r
+ return 8 * channels();\r
+ default:\r
+ throw new java.lang.UnsupportedOperationException(\r
+ "Unsupported CvType value: " + value );\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public final String toString() {\r
+ String s;\r
+ switch (depth()) {\r
+ case CV_8U:\r
+ s = "CV_8U";\r
+ break;\r
+ case CV_8S:\r
+ s = "CV_8S";\r
+ break;\r
+ case CV_16U:\r
+ s = "CV_16U";\r
+ break;\r
+ case CV_16S:\r
+ s = "CV_16S";\r
+ break;\r
+ case CV_32S:\r
+ s = "CV_32S";\r
+ break;\r
+ case CV_32F:\r
+ s = "CV_32F";\r
+ break;\r
+ case CV_64F:\r
+ s = "CV_64F";\r
+ break;\r
+ default:\r
+ s = "CV_USRTYPE1";\r
+ }\r
+ \r
+ int ch = channels();\r
+ if(ch<=4) return s + "C" + ch;\r
+ else return s + "C(" + ch + ")";\r
+ }\r
+ \r
+ // hashCode() has to be overridden if equals() is\r
+ @Override\r
+ public final int hashCode() { return value; }\r
+\r
+ @Override\r
+ public final boolean equals(Object obj) {\r
+ if (this == obj) return true;\r
+ if ( !(obj instanceof CvType) ) return false;\r
+ CvType other = (CvType) obj;\r
+ return value == other.value;\r
+ }\r
+}\r
package org.opencv;\r
\r
-//import android.util.Log;\r
-\r
public class Mat {\r
\r
- public static class CvType {\r
- \r
- // predefined type constants\r
- public static final CvType\r
- CV_8UC1 = CV_8UC(1), CV_8UC2 = CV_8UC(2), CV_8UC3 = CV_8UC(3), CV_8UC4 = CV_8UC(4),\r
- CV_8SC1 = CV_8SC(1), CV_8SC2 = CV_8SC(2), CV_8SC3 = CV_8SC(3), CV_8SC4 = CV_8SC(4),\r
- CV_16UC1 = CV_16UC(1), CV_16UC2 = CV_16UC(2), CV_16UC3 = CV_16UC(3), CV_16UC4 = CV_16UC(4),\r
- CV_16SC1 = CV_16SC(1), CV_16SC2 = CV_16SC(2), CV_16SC3 = CV_16SC(3), CV_16SC4 = CV_16SC(4),\r
- CV_32SC1 = CV_32SC(1), CV_32SC2 = CV_32SC(2), CV_32SC3 = CV_32SC(3), CV_32SC4 = CV_32SC(4),\r
- CV_32FC1 = CV_32FC(1), CV_32FC2 = CV_32FC(2), CV_32FC3 = CV_32FC(3), CV_32FC4 = CV_32FC(4),\r
- CV_64FC1 = CV_64FC(1), CV_64FC2 = CV_64FC(2), CV_64FC3 = CV_64FC(3), CV_64FC4 = CV_64FC(4);\r
- \r
- // type depth constants\r
- public static final int CV_8U = 0, \r
- CV_8S = 1, \r
- CV_16U = 2, \r
- CV_16S = 3, \r
- CV_32S = 4, \r
- CV_32F = 5, \r
- CV_64F = 6, \r
- CV_USRTYPE1=7;\r
- \r
- private static final int CV_CN_MAX = 512, CV_CN_SHIFT = 3, CV_DEPTH_MAX = (1 << CV_CN_SHIFT);\r
-\r
- private final int value;\r
- \r
- protected CvType(int depth, int channels) {\r
- if(channels<=0 || channels>=CV_CN_MAX) {\r
- throw new java.lang.UnsupportedOperationException(\r
- "Channels count should be 1.." + (CV_CN_MAX-1) );\r
- }\r
- if(depth<0 || depth>=CV_DEPTH_MAX) {\r
- throw new java.lang.UnsupportedOperationException(\r
- "Data type depth should be 0.." + (CV_DEPTH_MAX-1) );\r
- }\r
- value = (depth & (CV_DEPTH_MAX-1)) + ((channels-1) << CV_CN_SHIFT); \r
- }\r
-\r
- protected CvType(int val) { value = val; }\r
-\r
- public static final CvType CV_8UC(int ch) { return new CvType(CV_8U, ch); }\r
- \r
- public static final CvType CV_8SC(int ch) { return new CvType(CV_8S, ch); }\r
- \r
- public static final CvType CV_16UC(int ch) { return new CvType(CV_16U, ch); }\r
- \r
- public static final CvType CV_16SC(int ch) { return new CvType(CV_16S, ch); }\r
- \r
- public static final CvType CV_32SC(int ch) { return new CvType(CV_32S, ch); }\r
- \r
- public static final CvType CV_32FC(int ch) { return new CvType(CV_32F, ch); }\r
- \r
- public static final CvType CV_64FC(int ch) { return new CvType(CV_64F, ch); }\r
- \r
- public final int toInt() { return value; }\r
- \r
- public final int channels() { return (value >> CV_CN_SHIFT) + 1; }\r
- \r
- public final int depth() { return value & (CV_DEPTH_MAX-1); }\r
- \r
- public final boolean isInteger() { return depth() < CV_32F; }\r
-\r
- public final int CV_ELEM_SIZE() { \r
- int depth = value & (CV_DEPTH_MAX-1);\r
- switch (depth) {\r
- case CV_8U:\r
- case CV_8S:\r
- return channels();\r
- case CV_16U:\r
- case CV_16S:\r
- return 2 * channels();\r
- case CV_32S:\r
- case CV_32F:\r
- return 4 * channels();\r
- case CV_64F:\r
- return 8 * channels();\r
- default:\r
- throw new java.lang.UnsupportedOperationException(\r
- "Unsupported CvType value: " + value );\r
- }\r
- }\r
-\r
- @Override\r
- public final String toString() {\r
- String s;\r
- switch (depth()) {\r
- case CV_8U:\r
- s = "CV_8U";\r
- break;\r
- case CV_8S:\r
- s = "CV_8S";\r
- break;\r
- case CV_16U:\r
- s = "CV_16U";\r
- break;\r
- case CV_16S:\r
- s = "CV_16S";\r
- break;\r
- case CV_32S:\r
- s = "CV_32S";\r
- break;\r
- case CV_32F:\r
- s = "CV_32F";\r
- break;\r
- case CV_64F:\r
- s = "CV_64F";\r
- break;\r
- default:\r
- s = "CV_USRTYPE1";\r
- }\r
- \r
- return s + "C(" + channels() + ")";\r
- }\r
- \r
- // hashCode() has to be overridden if equals() is\r
- @Override\r
- public final int hashCode() { return value; }\r
-\r
- @Override\r
- public final boolean equals(Object obj) {\r
- if (this == obj) return true;\r
- if ( !(obj instanceof CvType) ) return false;\r
- CvType other = (CvType) obj;\r
- return value == other.value;\r
- }\r
- }\r
\r
protected Mat(long nativeMat) {\r
/*if(nativeMat == 0) \r
this( nCreateMat(rows, cols, type.toInt()) );\r
}\r
\r
+ public Mat(int rows, int cols, int depth) {\r
+ this( rows, cols, new CvType(depth, 1) );\r
+ }\r
+\r
public Mat(int rows, int cols, CvType type, double v0, double v1, double v2, double v3) {\r
this( nCreateMat(rows, cols, type.toInt(), v0, v1, v2, v3) );\r
}\r
import android.view.SurfaceHolder;
import android.view.SurfaceView;
+import org.opencv.CvType;
import org.opencv.Mat;
import org.opencv.Point;
import org.opencv.Scalar;
// initialize all required Mats before usage to minimize number of auxiliary jni calls
if(mYuv != null) mYuv.dispose();
- mYuv = new Mat(mFrameHeight+mFrameHeight/2, mFrameWidth, Mat.CvType.CV_8UC1);
+ mYuv = new Mat(mFrameHeight+mFrameHeight/2, mFrameWidth, CvType.CV_8UC1);
if(mRgba != null) mRgba.dispose();
- mRgba = new Mat(mFrameHeight, mFrameWidth, Mat.CvType.CV_8UC4);
+ mRgba = new Mat(mFrameHeight, mFrameWidth, CvType.CV_8UC4);
if(mGraySubmat != null) mGraySubmat.dispose();
mGraySubmat = mYuv.submat(0, mFrameHeight, 0, mFrameWidth);
if(mIntermediateMat != null) mIntermediateMat.dispose();
- mIntermediateMat = new Mat(mFrameHeight, mFrameWidth, Mat.CvType.CV_8UC1);
+ mIntermediateMat = new Mat(mFrameHeight, mFrameWidth, CvType.CV_8UC1);
}
}
imgproc.cvtColor(mIntermediateMat, mRgba, imgproc.CV_GRAY2BGRA, 4);
break;
case Sample1Java.VIEW_MODE_SOBEL:
- imgproc.Sobel(mGraySubmat, mIntermediateMat, core.CV_8U, 1, 1);
+ imgproc.Sobel(mGraySubmat, mIntermediateMat, CvType.CV_8U, 1, 1);
core.convertScaleAbs(mIntermediateMat, mIntermediateMat, 8);
imgproc.cvtColor(mIntermediateMat, mRgba, imgproc.CV_GRAY2BGRA, 4);
break;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
+import org.opencv.CvType;
import org.opencv.Mat;
import org.opencv.Size;
import org.opencv.core;
// initialize all required Mats before usage to minimize number of auxiliary jni calls
if(mYuv != null) mYuv.dispose();
- mYuv = new Mat(mFrameHeight+mFrameHeight/2, mFrameWidth, Mat.CvType.CV_8UC1);
+ mYuv = new Mat(mFrameHeight+mFrameHeight/2, mFrameWidth, CvType.CV_8UC1);
if(mRgba != null) mRgba.dispose();
- mRgba = new Mat(mFrameHeight, mFrameWidth, Mat.CvType.CV_8UC4);
+ mRgba = new Mat(mFrameHeight, mFrameWidth, CvType.CV_8UC4);
if(mGraySubmat != null) mGraySubmat.dispose();
mGraySubmat = mYuv.submat(0, mFrameHeight, 0, mFrameWidth);
if(mIntermediateMat != null) mIntermediateMat.dispose();
- mIntermediateMat = new Mat(mFrameHeight, mFrameWidth, Mat.CvType.CV_8UC1);
+ mIntermediateMat = new Mat(mFrameHeight, mFrameWidth, CvType.CV_8UC1);
}
}
imgproc.cvtColor(mIntermediateMat, mRgba, imgproc.CV_GRAY2BGRA, 4);
break;
case Sample4Mixed.VIEW_MODE_SOBEL:
- imgproc.Sobel(mGraySubmat, mIntermediateMat, core.CV_8U, 1, 1);
+ imgproc.Sobel(mGraySubmat, mIntermediateMat, CvType.CV_8U, 1, 1);
core.convertScaleAbs(mIntermediateMat, mIntermediateMat, 8);
imgproc.cvtColor(mIntermediateMat, mRgba, imgproc.CV_GRAY2BGRA, 4);
break;