Пиша програма за обработване на изображения на GPU. За това използвам 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.
Някой има ли някакви идеи за разрешаване на този проблем?
Благодаря предварително.