org.opencv.core.Core.split()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(2.4k)|赞(0)|评价(0)|浏览(258)

本文整理了Java中org.opencv.core.Core.split()方法的一些代码示例,展示了Core.split()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Core.split()方法的具体详情如下:
包路径:org.opencv.core.Core
类名称:Core
方法名:split

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

  1. Mat mBGRA = getNewMat(aMat.size(), 4, -1);
  2. List<Mat> mats = new ArrayList<Mat>();
  3. Core.split(aMat, mats);
  4. mats.add(mats.remove(0));
  5. Core.merge(mats, mBGRA);

代码示例来源:origin: RaiMan/SikuliX2

  1. private List<Mat> checkMat(Mat mat) {
  2. List<Mat> mats = new ArrayList<>();
  3. if (CvType.CV_8UC1 == mat.type() || CvType.CV_8UC3 == mat.type()) {
  4. mats.add(mat);
  5. } else if (CvType.CV_8UC4 == mat.type()) {
  6. List<Mat> matsBGRA = new ArrayList<>();
  7. Core.split(mat, matsBGRA);
  8. Mat mBGR = new Mat(mat.size(), CvType.CV_8UC3);
  9. Mat matA = matsBGRA.remove(3);
  10. Core.merge(matsBGRA, mBGR);
  11. mats.add(mBGR);
  12. MatOfDouble mStdDev = new MatOfDouble();
  13. Core.meanStdDev(matA, new MatOfDouble(), mStdDev);
  14. if (0 < mStdDev.toArray()[0]) {
  15. mats.add(matA);
  16. }
  17. }
  18. return mats;
  19. }

代码示例来源:origin: RaiMan/SikuliX2

  1. Core.split(shot.getContent(), mBGRA);
  2. mBGRA.add(mMask);
  3. Mat mResult = new Mat(mMask.size(), CvType.CV_8UC4);

代码示例来源:origin: nroduit/Weasis

  1. public static MinMaxLocResult minMaxLoc(Mat srcImg, Mat mask) {
  2. List<Mat> channels = new ArrayList<>(Objects.requireNonNull(srcImg).channels());
  3. if (srcImg.channels() > 1) {
  4. Core.split(srcImg, channels);
  5. } else {
  6. channels.add(srcImg);
  7. }
  8. MinMaxLocResult result = new MinMaxLocResult();
  9. result.minVal = Double.MAX_VALUE;
  10. result.maxVal = -Double.MAX_VALUE;
  11. for (int i = 0; i < channels.size(); i++) {
  12. MinMaxLocResult minMax = Core.minMaxLoc(channels.get(i), mask);
  13. result.minVal = Math.min(result.minVal , minMax.minVal);
  14. if(result.minVal == minMax.minVal) {
  15. result.minLoc = minMax.minLoc;
  16. }
  17. result.maxVal = Math.max(result.maxVal , minMax.maxVal);
  18. if(result.maxVal == minMax.maxVal) {
  19. result.maxLoc = minMax.maxLoc;
  20. }
  21. }
  22. return result;
  23. }

代码示例来源:origin: nroduit/Weasis

  1. Core.split(srcImg, channels);
  2. } else {
  3. channels.add(srcImg);

代码示例来源:origin: JavaOpenCVBook/code

  1. Core.split(complexImage,splitted);
  2. Mat magnitude = new Mat();
  3. Core.magnitude(splitted.get(0),splitted.get(1), magnitude);

相关文章

Core类方法