执行从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中检查了上述分辨率,它在那里工作正常。
请告诉我这个错误背后可能出现的问题。