Я работаю над проектом обработки изображений в C#. Я использую метод порогового значения OTSU. Я получаю это исключение »Попытка чтения или записи защищенной памяти. Это часто свидетельствует о том, что другая память повреждена." Я googled и искал переполнение стека более чем на 2 дня, но я не получил правильное решение. Я получаю эту ошибку только несколько изображений с другими изображениями его работает отлично ...Нарушение прав доступа в C#
public void Convert2GrayScaleFast(Bitmap bmp)
{
BitmapData bmData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
unsafe
{
byte* p = (byte*)(void*)bmData.Scan0.ToPointer();
int stopAddress = (int)p + bmData.Stride * bmData.Height;
while ((int)p != stopAddress)
{
p[0] = (byte)(.299 * p[2] + .587 * p[1] + .114 * p[0]);
p[1] = p[0];
p[2] = p[0];
p += 3;
}
}
bmp.UnlockBits(bmData);
}
Я получаю исключение в этой строке
p[0] = (byte)(.299 * p[2] + .587 * p[1] + .114 * p[0]);
не говорю на байпас исключение, используя меню «Сервис» -> «Параметры» -> «Отладка» -> «Общие» -> Снимите эту опцию «Подавить оптимизацию JIT при загрузке модуля». Я пробовал все методы, но ничего не работал для меня.
Here is the image which throws the exception Большое спасибо, если вы поможете мне решить проблему.
Airtel 4G работает слишком быстро. Я уверен, что Windows не сможет обработать этот файл из-за 4G скорости и латентности. Вы пробовали другую фотографию, в которой нет airtel 4G. – Adrian
@ Аниругу ничего себе, какое чувство юмора! Любой, как я нахожу способ для otsu порогового значения с использованием EMGU ... Но я не исправил эту проблему ... спасибо за комментарий ... – Gokulakannan
У меня проблема была решена с помощью EMGU CV для определения порога. Но я не могу исправить это. Если кто-нибудь исправит это, это может помочь любому ... – Gokulakannan