为了账号安全,请及时绑定邮箱和手机立即绑定

Opencv:如何将 Mat 拆分为其 BGR 颜色通道

Opencv:如何将 Mat 拆分为其 BGR 颜色通道

翻过高山走不出你 2021-09-29 17:43:40
我正在用 Java 编写这个系统,我想将 Mat 分成 3 个特定的颜色通道,以便我可以分别处理每个颜色通道。理想情况下,当图像被分割时,其通道也将存储为 Mats。我的最终目标是将特定的颜色通道转换为哈希码,以便以后进行图像处理。我不确定具体如何,并且想知道是否有人知道一些可能有用的功能。任何帮助将不胜感激。如果有什么不清楚的,请告诉我。我很乐意解释更多。
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

似乎以下代码有效:


ArrayList<Mat> dst = new ArrayList<>(3);

Core.split(src, dst); // Mat src, ArrayList<Mat> dst


查看完整回答
反对 回复 2021-09-29
?
函数式编程

TA贡献1807条经验 获得超9个赞

有一个cv::split()函数可以将 RGB 垫(或任何多通道垫)拆分为单通道垫阵列。拆分后,您可以在各个通道上运行散列算法。

OpenCV 2OpenCV 3cv::split()文档的链接。

如果您的处理对时间敏感,您可以考虑就地处理通道(即彼此交错)是否更有效。这取决于您希望如何处理频道。


查看完整回答
反对 回复 2021-09-29
  • 2 回答
  • 0 关注
  • 488 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信