Как отобразить 16-битный серый снимок |
Здравствуйте, гость ( Вход | Регистрация )
Как отобразить 16-битный серый снимок |
Emelya |
8.9.2014, 9:58
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 6.8.2014 Пользователь №: 4203 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день.
Есть медицинский файл, полученный от рентгеновского аппарата. В нем черно-белый снимок. Подскажите, как можно вывести его на экран? Дело в том, что на пиксел приходится 16-бит, то есть в изображении могут присутствовать более 65 000 оттенков серого. В классе QImage такого формата нет, почти все форматы это RGB. В них можно отразить серого на 8-бит, это 256 оттенков. Изображение при этом получается рыхлое не контрастное. |
|
|
lanz |
8.9.2014, 11:37
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Сразу видится два способа:
1. Использовать RGBA, RGB содержит старший бит, Alpha канал младший. Не совсем уверен как это будет выглядет, но попробовать дешево. 2. Если видеокарта поддерживает 16 бит на канал, то использовать этот режим напрямую через OpenGL, т.е. GL_RGBA16UI например. |
|
|
Emelya |
8.9.2014, 12:02
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 6.8.2014 Пользователь №: 4203 Спасибо сказали: 0 раз(а) Репутация: 0 |
Сразу видится два способа: 1. Использовать RGBA, RGB содержит старший бит, Alpha канал младший. Не совсем уверен как это будет выглядет, но попробовать дешево. 2. Если видеокарта поддерживает 16 бит на канал, то использовать этот режим напрямую через OpenGL, т.е. GL_RGBA16UI например. Я через OpenGL не думал, надо попробовать. А вот RGB я повсякому заполнял. Сначала младшим вайтом RGB заполнял, затем старшим, затем тоже самое с альфа каналом. Получается ерунда. Мне вообще кажется, что картинку можно получить либо через какой-нибудь другой класс, либо писать свой класс наследуя его от QImage. |
|
|
Текстовая версия | Сейчас: 2.12.2024, 10:59 |