создать изображение RGB из трехмерного двойного массива - PullRequest
0 голосов
/ 12 августа 2010

У меня есть массив размером 672 * 472 * 3 типа double (каналы изображения r-g-b). значения в каждой позиции пикселя находятся в диапазоне от 0,000 до 5,0000. мне нужно показать данные в виде изображения на картинке. Как я могу сделать это в C #.

1 Ответ

1 голос
/ 12 августа 2010

Вы можете создать новый объект Bitmap и установить пиксели в соответствии с данными в вашем массиве с помощью SetPixel ()

См. Здесь:

http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.setpixel.aspx

Выпридется перебирать массив с двумя циклами и переводить диапазон 0-5 в 0-255, чтобы создать цветовой объект.

Затем вы можете просто назначить растровое изображение для свойства изображения PictureBox.

Это достаточно конкретно?

РЕДАКТИРОВАТЬ:

Вы можете конвертировать ваши двойники в диапазоне от 0,0000 до 0,5000 путем простого деления на пять и умножения на 255 для каждого компонента.Например,

bmpBitmap.SetPixel(iX, iY, 
Color.FromArgb((int)(arArray[iX, iY, 0] / 5 * 255), 
(int)(arArray[iX, iY, 1] / 5 * 255), 
(int)(arArray[iX, iY, 2] / 5 * 255)
);

Возможно, вам придется настроить индексы массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...