gpt4 book ai didi

opencv - 在不知道其数据类型的情况下合并 2 个单 channel 图像?

转载 作者:行者123 更新时间:2023-12-02 16:56:37 24 4
gpt4 key购买 nike

我有两个单 channel 图像 Mat I1;Mat I2; .我没有关于他们的数据类型(即 uchar 或 float)的信息。

任务:我想将它们合并成一个图像 Mat mergedImage 应该有 2 个 channel ,以便 I1I2可以合并进去。

问题:在将图像合并到 Mat mergedImage 之前,我必须使用 mergedImage.create( I1.size() , ...... ); 创建该图像

的地方应该填什么...... ?我只知道它应该是2 channel 的,如何提取 I1 的数据类型

PS:请不要说使用I1.type()因为I1只有单 channel 。

最佳答案

为什么没有?

在完全不知道类型的情况下工作不是一个好主意。您可以在 C++ 中使用模板函数来实现,但您要实现多少灵 active ?以及如何增加您的软件设计?你会遇到多少个不受控制的问题?

通常,当您阅读有关图像处理的代码时,这些代码会根据类型改变行为,您会看到一些 ifswitch健康)状况。更可控的环境,更少的错误倾向,更易读的代码和干净的行为,以及区分行为的好方法。你为什么不想使用它?就是这么简单,记住Occam's razor .

例如:

if(src.type() == CV_32F || src.type() == CV_32FC1) {
....
}

并通过检查类型来区分行为。

如果您不信任它,请在 opencv source code 中打开一些随机文件: 到处都是类型检查,并在此基础上默默区分策略和实现。

关于opencv - 在不知道其数据类型的情况下合并 2 个单 channel 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22079515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com