本文整理了Java中org.opencv.core.Core.split()
方法的一些代码示例,展示了Core.split()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Core.split()
方法的具体详情如下:
包路径:org.opencv.core.Core
类名称:Core
方法名:split
[英]Divides a multi-channel array into several single-channel arrays.
The functions split
split a multi-channel array into separate single-channel arrays:
mv c = src(I)_c
If you need to extract a single channel or do some other sophisticated channel permutation, use "mixChannels".
[中]将多通道阵列划分为多个单通道阵列。
函数split
将多通道阵列拆分为单独的单通道阵列:
mv[c](I)=src(I)\u c
如果需要提取单个通道或进行其他复杂的通道排列,请使用“混合通道”。
代码示例来源:origin: RaiMan/SikuliX2
Mat mBGRA = getNewMat(aMat.size(), 4, -1);
List<Mat> mats = new ArrayList<Mat>();
Core.split(aMat, mats);
mats.add(mats.remove(0));
Core.merge(mats, mBGRA);
代码示例来源:origin: RaiMan/SikuliX2
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;
}
代码示例来源:origin: RaiMan/SikuliX2
Core.split(shot.getContent(), mBGRA);
mBGRA.add(mMask);
Mat mResult = new Mat(mMask.size(), CvType.CV_8UC4);
代码示例来源:origin: nroduit/Weasis
public static MinMaxLocResult minMaxLoc(Mat srcImg, Mat mask) {
List<Mat> channels = new ArrayList<>(Objects.requireNonNull(srcImg).channels());
if (srcImg.channels() > 1) {
Core.split(srcImg, channels);
} else {
channels.add(srcImg);
}
MinMaxLocResult result = new MinMaxLocResult();
result.minVal = Double.MAX_VALUE;
result.maxVal = -Double.MAX_VALUE;
for (int i = 0; i < channels.size(); i++) {
MinMaxLocResult minMax = Core.minMaxLoc(channels.get(i), mask);
result.minVal = Math.min(result.minVal , minMax.minVal);
if(result.minVal == minMax.minVal) {
result.minLoc = minMax.minLoc;
}
result.maxVal = Math.max(result.maxVal , minMax.maxVal);
if(result.maxVal == minMax.maxVal) {
result.maxLoc = minMax.maxLoc;
}
}
return result;
}
代码示例来源:origin: nroduit/Weasis
Core.split(srcImg, channels);
} else {
channels.add(srcImg);
代码示例来源:origin: JavaOpenCVBook/code
Core.split(complexImage,splitted);
Mat magnitude = new Mat();
Core.magnitude(splitted.get(0),splitted.get(1), magnitude);
内容来源于网络,如有侵权,请联系作者删除!