Android基于opencv实现多通道分离与合并
作者:易冬 时间:2022-05-04 09:49:29
目录
多通道分离
API
操作
通道合并
API
操作
结果
源码
多通道分离
API
public static void split(Mat m, List<Mat> mv)
参数一:m,待分离的多通道图像
参数二:mv,分离后的单通道图像
操作
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_channel_split_merge)
mBgr = Utils.loadResource(this, R.drawable.test)
val imgList = mutableListOf<Mat>()
Core.split(mBgr, imgList)
mChannelB = imgList[0]
mChannelG = imgList[1]
mChannelR = imgList[2]
}
通道合并
API
public static void merge(List<Mat> mv, Mat dst)
参数一:mv,需要合并的图像数组,其中每个图像必须拥有相同的尺寸和数据类型
参数二:dst,合并后输出的图像,与mv[0]具有相同的尺寸和数据类型,通道数等于所有输入图像的通道数总和
操作
private fun showBGZero() {
val zero = Mat.zeros(mBgr.rows(), mBgr.cols(), CvType.CV_8UC1)
val list = mutableListOf<Mat>()
list.add(zero)
list.add(zero)
list.add(mChannelR)
val result = Mat()
Core.merge(list, result)
showMat(result)
result.release()
}
private fun showBRZero() {
val zero = Mat.zeros(mBgr.rows(), mBgr.cols(), CvType.CV_8UC1)
val list = mutableListOf<Mat>()
list.add(zero)
list.add(mChannelG)
list.add(zero)
val result = Mat()
Core.merge(list, result)
showMat(result)
result.release()
}
private fun showGRZero() {
val zero = Mat.zeros(mBgr.rows(), mBgr.cols(), CvType.CV_8UC1)
val list = mutableListOf<Mat>()
list.add(mChannelB)
list.add(zero)
list.add(zero)
val result = Mat()
Core.merge(list, result)
showMat(result)
result.release()
}
private fun showSwitchBR() {
val zero = Mat.zeros(mBgr.rows(), mBgr.cols(), CvType.CV_8UC1)
val list = mutableListOf<Mat>()
list.add(mChannelR)
list.add(mChannelG)
list.add(mChannelB)
val result = Mat()
Core.merge(list, result)
showMat(result)
result.release()
}
结果
源码
github.com/onlyloveyd/…
来源:https://juejin.cn/post/6873982596217307143
标签:Android,opencv,多通道分离与合并
0
投稿
猜你喜欢
Flutter Widgets MediaQuery控件屏幕信息适配
2023-06-29 04:48:21
SpringBoot Bean被加载时进行控制
2022-10-01 14:06:53
C#使用Objects Comparer进行对象比较
2022-06-03 05:40:30
java数据结构基础:单链表与双向链表
2023-03-02 09:21:59
Android实现多个连续带数字圆圈效果
2021-09-10 02:46:23
Hystrix Dashboard断路监控仪表盘的实现详细介绍
2022-07-29 05:27:26
使用Java实现Redis限流的方法
2023-09-27 01:43:47
C#中的引用类型以及特殊引用类型详解
2023-06-18 01:43:46
Java项目中获取路径的绝对路径问题和相对路径问题
2023-07-09 13:25:01
MyBatis通用Mapper和PageHelper的过程详解
2022-09-29 16:17:03
Spring Boot配置线程池拒绝策略的场景分析(妥善处理好溢出的任务)
2022-08-05 07:12:24
java实现1M图片压缩优化到100kb实现示例
2022-08-08 03:59:43
Android中Market的Loading效果实现方法
2023-11-16 09:37:33
搞懂Java线程池
2021-08-04 10:01:06
通过FeignClient调用微服务提供的分页对象IPage报错的解决
2022-01-27 20:19:23
java实现随机数生成器
2023-06-15 04:26:53
springboot如何开启一个监听线程执行任务
2022-01-09 08:44:48
Spring boot 集成Dubbox的方法示例
2023-09-22 23:49:04
Java 自定义注解的魅力
2023-06-29 14:45:15
Java C++实现相同MD5加密算法的方式
2023-10-12 12:26:02