本文整理了Java中org.opencv.core.Core.merge()
方法的一些代码示例,展示了Core.merge()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Core.merge()
方法的具体详情如下:
包路径:org.opencv.core.Core
类名称:Core
方法名:merge
[英]Creates one multichannel array out of several single-channel ones.
The functions merge
merge several arrays to make a single multi-channel array. That is, each element of the output array will be a concatenation of the elements of the input arrays, where elements of i-th input array are treated as mv[i].channels()
-element vectors.
The function "split" does the reverse operation. If you need to shuffle channels in some other advanced way, use "mixChannels".
[中]从多个单通道阵列中创建一个多通道阵列。
函数merge
将多个阵列合并为一个多通道阵列。也就是说,输出数组的每个元素都是输入数组元素的串联,其中第i个输入数组的元素被视为mv[i].channels()
-元素向量。
函数“split”执行相反的操作。如果您需要以其他高级方式洗牌频道,请使用“混合频道”。
代码示例来源:origin: RaiMan/SikuliX2
private Mat makeContent() {
if (hasMask()) {
Mat mBGRA = getNewMat(mask.size(), 4, -1);
List<Mat> mats = new ArrayList<>();
mats.add(content);
mats.add(mask);
Core.merge(mats, mBGRA);
return mBGRA;
} else {
return content;
}
}
代码示例来源:origin: RaiMan/SikuliX2
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;
}
代码示例来源:origin: RaiMan/SikuliX2
public Mat getContentBGRA() {
if (!hasMask()) {
Mat mBGRA = getNewMat(mask.size(), 4, -1);
List<Mat> mats = new ArrayList<>();
mats.add(content);
mats.add(getNewMat(content.size(), 1, 255));
Core.merge(mats, mBGRA);
return mBGRA;
}
return getContent(null);
}
代码示例来源:origin: RaiMan/SikuliX2
Core.split(aMat, mats);
mats.add(mats.remove(0));
Core.merge(mats, mBGRA);
return mBGRA;
} else if (bImg.getType() == BufferedImage.TYPE_BYTE_GRAY) {
代码示例来源: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
mBGRA.add(mMask);
Mat mResult = new Mat(mMask.size(), CvType.CV_8UC4);
Core.merge(mBGRA, mResult);
shotMasked = new Picture(mResult);
resizeToFrame(shotMasked);
代码示例来源:origin: nroduit/Weasis
public static ImageCV applyLUT(Mat source, byte[][] lut) {
Mat srcImg = Objects.requireNonNull(source);
int lutCh = Objects.requireNonNull(lut).length;
Mat lutMat;
if (lutCh > 1) {
lutMat = new Mat();
List<Mat> luts = new ArrayList<>(lutCh);
for (int i = 0; i < lutCh; i++) {
Mat l = new Mat(1, 256, CvType.CV_8U);
l.put(0, 0, lut[i]);
luts.add(l);
}
Core.merge(luts, lutMat);
if (srcImg.channels() < lut.length) {
Imgproc.cvtColor(srcImg.clone(), srcImg, Imgproc.COLOR_GRAY2BGR);
}
} else {
lutMat = new Mat(1, 256, CvType.CV_8UC1);
lutMat.put(0, 0, lut[0]);
}
ImageCV dstImg = new ImageCV();
Core.LUT(srcImg, lutMat, dstImg);
return dstImg;
}
代码示例来源:origin: nroduit/Weasis
List<Mat> mv = toBGR ? Arrays.asList(b, g, r) : Arrays.asList(r, g, b);
ImageCV dstImg = new ImageCV(raster.getHeight(), raster.getWidth(), CvType.CV_8UC3);
Core.merge(mv, dstImg);
return dstImg;
代码示例来源:origin: JavaOpenCVBook/code
matList.add(zeroMat);
Mat complexImage = new Mat();
Core.merge(matList, complexImage);
内容来源于网络,如有侵权,请联系作者删除!