cvDiv c ++与IplImage(float)

时间:2011-12-14 14:21:18

标签: c++ opencv

我需要将每个元素划分为另一个元素的IplImage。 如果我使用3 IPL_DEPTH_8U图像它可以工作,但如果我使用3 IPL_DEPTH_32F图像我在内存位置得到一个错误Cv :: Exception ... 代码就是 cvDiv(im1,im2,im3); 我确定3张图片,错误是在cvDiv

1 个答案:

答案 0 :(得分:0)

它们都需要具有相同的类型和大小,并且必须是单通道。

cvDiv()适用于数组,这意味着如果您的图片有多个频道,则必须为每个频道单独重复此操作才能使其正常工作。

正在发生的事情是,当您的图像IPL_DEPTH_8U时,他们正在存储灰度图像,这意味着单个通道。这就是它起作用的原因。

当它们IPL_DEPTH_32F时,它们可能是彩色的,这意味着它们有3个通道(RGB)。这就是你得到错误的原因。

如果您想知道如何单独使用每个频道,check this message