当前位置: 首页 > news >正文

OpenCV(六):多通道分离与合并

目录

1.多通道分离split() 

2.多通道合并merge() 

3.Android JNI demo


1.多通道分离split() 

void cv::split ( InputArray  m,

OutputArrayOfArrays mv

m:待分离的多通道图像。

mv:分离后的单通道图像,为向量vector形式。

2.多通道合并merge() 

void cv::merge ( InputArrayOfArrays mv,

OutputArray    dst

mv:需要合并的图像向量vector,其中每个图像必须拥有相同的尺寸和数据类型。

dst: 合并后输出的图像,通道数等于所有输入图像的通道数总和。

3.Android jni demo

#include <jni.h>
#include <string>
#include <android/bitmap.h>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <android/log.h>#define LOG_TAG "xxx"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)using namespace cv;
using namespace std;
extern "C"
JNIEXPORT void JNICALL
Java_com_example_myapplication_MainActivity_opencv_1test(JNIEnv *env, jclass clazz,jobject bitmap) {AndroidBitmapInfo info;void *pixels;CV_Assert(AndroidBitmap_getInfo(env, bitmap, &info) >= 0);//判断图片是位图格式有RGB_565 、RGBA_8888CV_Assert(info.format == ANDROID_BITMAP_FORMAT_RGBA_8888 ||info.format == ANDROID_BITMAP_FORMAT_RGB_565);CV_Assert(AndroidBitmap_lockPixels(env, bitmap, &pixels) >= 0);CV_Assert(pixels);//将bitmap转化为Mat类Mat image(info.height, info.width, CV_8UC4, pixels);Mat imgs[4];split(image,imgs);Mat img0,img1,img2,img3;img0=imgs[0];img1=imgs[1];img2=imgs[2];img3=imgs[3];Mat img_H;merge(imgs,4,img_H);imwrite("/sdcard/DCIM/img_H.jpg",img_H);Mat zero=Mat::zeros(Size(image.cols,image.rows),CV_8UC1);vector<Mat> imgsV;imgsV.push_back(img0);imgsV.push_back(img1);imgsV.push_back(img2);imgsV.push_back(img3);Mat imgsVH;merge(imgsV,imgsVH);imwrite("/sdcard/DCIM/imgsVH.jpg",imgsVH);
}

http://www.lryc.cn/news/151655.html

相关文章:

  • Sql单行数据查询为多行
  • 网络协议分析-http/https/tcp/udp
  • 基于aarch64分析kernel源码 四:printk 内核打印
  • 机器人中的数值优化(六)—— 线搜索最速下降法
  • postman调试注意事项
  • 【C#】泛型
  • CLIP:连接文本-图像
  • MFC网络编程简单例程
  • 云原生简介 (Cloud Native)
  • 【SpringBoot系列】 测试框架之@SpringBootTest的使用
  • 【数据结构与算法篇】手撕八大排序算法之交换排序
  • ArcGIS Pro实践技术应用、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合
  • uniapp 项目实践总结(一)uniapp 框架知识总结
  • Oracle查看与修改隐藏参数
  • 基于MQTT协议的物联网网关实现远程数据采集及监控
  • 服务内部错误: stderr: bash: docker-compose: 未找到命令
  • 自然语言处理(六):词的相似性和类比任务
  • 安防监控视频平台EasyCVR视频汇聚平台定制项目增加AI智能算法详细介绍
  • VB个人邮件处理系统设计与实现
  • 第一章辩证唯物论,考点七思维导图
  • Python入门教程 - 基本函数(四)
  • [PyTorch][chapter 53][Auto Encoder 实战]
  • Springboot常用方法参数注解及示例
  • 基于java+springboot+vue的交流互动系统-lw
  • 使用candump+grep查看CAN报文
  • Vue中el-table表格的拖拽排序
  • 配置环境变量的作用
  • Mysql的page,索引,Explain Type等基本常识
  • 【业务功能篇95】web中的重定向与转发
  • IP对讲终端SV-6005带一路2×15W或1*30W立体声做广播使用