public void setMask(Mat mMask) { if (mMask.type() == CvType.CV_8UC1) { mask = mMask; } }
private static boolean isGray(Mat mat) { return mat.type() == gray; }
private Mat matMulti(Mat mat, int channels) { if (mat.type() != CvType.CV_8UC1 || mat.channels() == channels) { return mat; } List<Mat> listMat = new ArrayList<>(); for (int n = 0; n < channels; n++) { listMat.add(mat); } Mat mResult = Element.getNewMat(); Core.merge(listMat, mResult); return mResult; }
private List<Mat> checkMat(Mat mat) { List<Mat> mats = new ArrayList<>(); if (CvType.CV_8UC1 == mat.type() || CvType.CV_8UC3 == mat.type()) { mats.add(mat); } else if (CvType.CV_8UC4 == mat.type()) { List<Mat> matsBGRA = new ArrayList<>(); Core.split(mat, matsBGRA); Mat mBGR = new Mat(mat.size(), CvType.CV_8UC3); Mat matA = matsBGRA.remove(3); Core.merge(matsBGRA, mBGR); mats.add(mBGR); MatOfDouble mStdDev = new MatOfDouble(); Core.meanStdDev(matA, new MatOfDouble(), mStdDev); if (0 < mStdDev.toArray()[0]) { mats.add(matA); } } return mats; }
public int put(int row, int col, double... data) { int t = type(); if (data == null || data.length % CvType.channels(t) != 0) throw new java.lang.UnsupportedOperationException( "Provided data element number (" + (data == null ? 0 : data.length) + ") should be multiple of the Mat channels count (" + CvType.channels(t) + ")"); return nPutD(nativeObj, row, col, data.length, data); }
public int put(int row, int col, double... data) { int t = type(); if (data == null || data.length % CvType.channels(t) != 0) throw new java.lang.UnsupportedOperationException( "Provided data element number (" + (data == null ? 0 : data.length) + ") should be multiple of the Mat channels count (" + CvType.channels(t) + ")"); return nPutD(nativeObj, row, col, data.length, data); }
public int put(int row, int col, double... data) { int t = type(); if (data == null || data.length % CvType.channels(t) != 0) throw new java.lang.UnsupportedOperationException( "Provided data element number (" + (data == null ? 0 : data.length) + ") should be multiple of the Mat channels count (" + CvType.channels(t) + ")"); return nPutD(nativeObj, row, col, data.length, data); }
public int put(int row, int col, double... data) { int t = type(); if (data == null || data.length % CvType.channels(t) != 0) throw new java.lang.UnsupportedOperationException( "Provided data element number (" + (data == null ? 0 : data.length) + ") should be multiple of the Mat channels count (" + CvType.channels(t) + ")"); return nPutD(nativeObj, row, col, data.length, data); }
public int get(int row, int col, int[] data) { int t = type(); if (data == null || data.length % CvType.channels(t) != 0) throw new java.lang.UnsupportedOperationException( "Provided data element number (" + (data == null ? 0 : data.length) + ") should be multiple of the Mat channels count (" + CvType.channels(t) + ")"); if (CvType.depth(t) == CvType.CV_32S) { return nGetI(nativeObj, row, col, data.length, data); } throw new java.lang.UnsupportedOperationException("Mat data type is not compatible: " + t); }
public int get(int row, int col, float[] data) { int t = type(); if (data == null || data.length % CvType.channels(t) != 0) throw new java.lang.UnsupportedOperationException( "Provided data element number (" + (data == null ? 0 : data.length) + ") should be multiple of the Mat channels count (" + CvType.channels(t) + ")"); if (CvType.depth(t) == CvType.CV_32F) { return nGetF(nativeObj, row, col, data.length, data); } throw new java.lang.UnsupportedOperationException("Mat data type is not compatible: " + t); }
public int get(int row, int col, byte[] data) { int t = type(); if (data == null || data.length % CvType.channels(t) != 0) throw new java.lang.UnsupportedOperationException( "Provided data element number (" + (data == null ? 0 : data.length) + ") should be multiple of the Mat channels count (" + CvType.channels(t) + ")"); if (CvType.depth(t) == CvType.CV_8U || CvType.depth(t) == CvType.CV_8S) { return nGetB(nativeObj, row, col, data.length, data); } throw new java.lang.UnsupportedOperationException("Mat data type is not compatible: " + t); }
public int put(int row, int col, short[] data) { int t = type(); if (data == null || data.length % CvType.channels(t) != 0) throw new java.lang.UnsupportedOperationException( "Provided data element number (" + (data == null ? 0 : data.length) + ") should be multiple of the Mat channels count (" + CvType.channels(t) + ")"); if (CvType.depth(t) == CvType.CV_16U || CvType.depth(t) == CvType.CV_16S) { return nPutS(nativeObj, row, col, data.length, data); } throw new java.lang.UnsupportedOperationException("Mat data type is not compatible: " + t); }
@Override public String toString() { return "Mat [ " + rows() + "*" + cols() + "*" + CvType.typeToString(type()) + ", isCont=" + isContinuous() + ", isSubmat=" + isSubmatrix() + ", nativeObj=0x" + Long.toHexString(nativeObj) + ", dataAddr=0x" + Long.toHexString(dataAddr()) + " ]"; }
@Override public String toString() { return "Mat [ " + rows() + "*" + cols() + "*" + CvType.typeToString(type()) + ", isCont=" + isContinuous() + ", isSubmat=" + isSubmatrix() + ", nativeObj=0x" + Long.toHexString(nativeObj) + ", dataAddr=0x" + Long.toHexString(dataAddr()) + " ]"; }
@Override public String toString() { return "Mat [ " + rows() + "*" + cols() + "*" + CvType.typeToString(type()) + ", isCont=" + isContinuous() + ", isSubmat=" + isSubmatrix() + ", nativeObj=0x" + Long.toHexString(nativeObj) + ", dataAddr=0x" + Long.toHexString(dataAddr()) + " ]"; }
@Override public String toString() { return "Mat [ " + rows() + "*" + cols() + "*" + CvType.typeToString(type()) + ", isCont=" + isContinuous() + ", isSubmat=" + isSubmatrix() + ", nativeObj=0x" + Long.toHexString(nativeObj) + ", dataAddr=0x" + Long.toHexString(dataAddr()) + " ]"; }
@Override public String toString() { return "Mat [ " + rows() + "*" + cols() + "*" + CvType.typeToString(type()) + ", isCont=" + isContinuous() + ", isSubmat=" + isSubmatrix() + ", nativeObj=0x" + Long.toHexString(nativeObj) + ", dataAddr=0x" + Long.toHexString(dataAddr()) + " ]"; }
private Mat addTo(Mat matA, Mat matB) { Mat m = new Mat(matA.rows(), matA.cols() + matB.cols(), matA.type()); int aCols = matA.cols(); int aRows = matA.rows(); m.rowRange(0, aRows-1).colRange(0, aCols-1) = matA; m.rowRange(0, aRows-1).colRange(aCols, (aCols*2)-1) = matB; return m; }
private Mat deinterlace(Mat mat) { if (!deinterlace) { return mat; } Mat dst = new Mat(mat.size(), mat.type()); for (int i = 0; i < mat.rows() / 2; i++) { mat.row(i).copyTo(dst.row(i * 2)); mat.row(i + mat.rows() / 2).copyTo(dst.row(i * 2 + 1)); } mat.release(); return dst; }