3

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 はエラーをスローしますが、 width = 1786 height = 1202 はスローしません。上記の解像度に画像のサイズを変更することで、このエラーを簡単に再現でき、エラーがスローされます。

上記の解像度を C++ opencv で確認したところ、問題なく動作しました。

このエラーの背後にある問題を教えてください。

4

0 に答える 0