Для примера, переход от черного к белому слева направо, но в реальном проекте есть настоящие изображения.
Моя конечная цель — нарисовать оранжево-белые пиксели при разрешении 255. и меньше других со значением Gray8, только для отображения.
Вот образец всего моего тестового кода
Код: Выделить всё
private FormatConvertedBitmap ApplyLut(List lut, BitmapSource source)
{
FormatConvertedBitmap newFormatedBitmapSource = new FormatConvertedBitmap();
newFormatedBitmapSource.BeginInit();
newFormatedBitmapSource.Source = source;
BitmapPalette myPalette = new BitmapPalette(lut);
newFormatedBitmapSource.DestinationPalette = myPalette;
if (lut.Count < 6)
{
// If y try Indexed1, Indexed2, or Indexed4 it's the same result,
// and for Index8, it seems that nothing his apply
newFormatedBitmapSource.DestinationFormat = PixelFormats.Indexed4;
}
else
{
// for 256 colors list, previous PixelsFormat doesn't work
// and for Index8, it seems that nothing his apply
newFormatedBitmapSource.DestinationFormat = PixelFormats.Indexed8;
}
newFormatedBitmapSource.EndInit();
return newFormatedBitmapSource;
}

Первое изображение слева — исходное, второй тест с 2 цветами, следующий тест с 5 цветами и последний тест с 256 цветами.
I прочитал много тем,
тема Stackoverflow
тема Stackoverflow
документация Microsoft
документация Microsoft
и некоторые другие, но некоторые вещи не понимаю.Во-первых, насколько я понимаю, LUT — это массив или словарь, который связывает значение серого (от 0 до 255) со значением RGB.
Если бы это было так, то почему, на в моем образце из 2 цветов есть оранжевый в темном оттенке и синий в прозрачном?
И почему в образце из 5 цветов есть смешанные цвета?
Это хорошо, но не то, что мне нужно.
Во-вторых, почему при выборе 256 цветов ничего не происходит?
В-третьих, как можно применить оранжевый цвет к пикселям при 255?
Вы можете получить исходное изображение здесь https://www.cjoint.com/c/NDtrfpLR4uS
Я ожидаю, что серый пиксель между [0, 254] сохранит свое значение, а пиксели - 255. отображаются оранжевым цветом при отображении изображения.
Наведите курсор, если кто-то знает, как это сделать с помощью emgu, мне тоже интересно.
Спасибо< /п>
Подробнее здесь: https://stackoverflow.com/questions/783 ... y8-picture
Мобильная версия