cvDiv C++与IplImage(float)

问题描述:

我需要为每个元素分割IplImage另一个。如果我使用3 IPL_DEPTH_8U图像它的工作原理,但如果我使用3 IPL_DEPTH_32F图像我得到一个错误Cv ::异常在内存位置... 代码只是 cvDiv(im1,im2,im3); 我敢肯定这3张图片,错误在cvDivcvDiv C++与IplImage(float)

+1

他们都需要有相同的类型和大小。 – karlphillip 2011-12-14 15:49:17

+0

您可以发布您正在使用的代码的完整相关部分吗? – mevatron 2011-12-14 15:54:20

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

cvDiv()适用于阵列,这意味着如果您的图像具有多个通道,您将不得不为每个通道单独重复此操作以使其工作。

发生了什么是最有可能当你的图像是IPL_DEPTH_8U他们正在存储灰度图像,这意味着单通道。这就是它工作的原因。

当它们是IPL_DEPTH_32F时,它们可能是有颜色的,这意味着它们有3个通道(RGB)。这就是为什么你会收到错误。

如果您想知道如何分别处理每个通道,请拨打check this message