EMGU EqualizeHist会在特定图像分辨率上引发错误

时间:2013-06-24 14:00:09

标签: c# opencv emgucv

执行从EMGU调用的EqualizeHist函数时,会抛出以下错误。

“尝试读取或写入受保护的内存。这通常表示其他内存已损坏。”

仅对具有以下分辨率的图像发生此错误。对于所有其他决议,它工作正常。

width = 1785 height = 1200
width = 1786 height = 1200
width = 1787 height = 1200
width = 1786 height = 1205
width = 1786 height = 1204
width = 1786 height = 1203
width = 1786 height = 1201
width = 1786 height = 1200
width = 1786 height = 1199

以下是代码

Emgu.CV.Image<Bgr, Byte> imageCV = new Emgu.CV.Image<Bgr, Byte>("file.jpg");
Emgu.CV.Image<Gray, byte> grayframe = imageCV.Convert<Gray, byte>();
grayframe._EqualizeHist();

例如,width = 1786 height = 1200 throws error,而width = 1786 height = 1202则没有。您可以通过将任何图像调整为上述分辨率来轻松地重新创建此错误,它将引发错误。

我在C ++ opencv中检查了上述分辨率,它在那里工作正常。

请告诉我这个错误背后可能出现的问题。

0 个答案:

没有答案