Я пишу программу для обработки изображений на графическом процессоре. Для этого я использую CUDA.Net, но, к сожалению, CUDA не распознает тип байт , в котором я смог сохранить информацию о пикселях, используя этот код:
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.
Есть ли у кого-нибудь мысли решить эту проблему?
Заранее спасибо.