Я пишу программу для обработки изображений на графическом процессоре. Для этого я использую CUDA.Net, но, к сожалению, CUDA не распознает тип byte, в котором я смог сохранить информацию о пикселях, используя этот код:
BitmapData bData = bmp.LockBits(new Rectangle(new Point(), bmp.Size),
ImageLockMode.ReadOnly,
PixelFormat.Format24bppRgb);
// number of bytes in the bitmap
byteCount = bData.Stride * (bmp.Height);
byte[] bmpBytes = new byte[byteCount];
Marshal.Copy(bData.Scan0, bmpBytes, 0, byteCount);
bmp.UnlockBits(bData);
return bmpBytes;
Моя проблема заключается в том, что CUDA не принимает этот массив байтов, и если изменить его на тип int[], программа получает исключение AccessViolationException.
Есть у кого какие мысли по решению этой проблемы?
Заранее спасибо.