|
Вывод 16 бит на пиксел как сделать ? |
|
|
|
Aug 7 2017, 09:23
|
Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331

|
Цитата(whale_nik @ Aug 6 2017, 00:46)  Всем привет! Есть вопрос, имеется массив данных, каждое данное размером в два байта те 1024, нужно вывести картинку из этих данных, и чтобы каждый пиксель отображал всю градацию 0-1024. Как такое можно сделать ? Желательно в желтом цвете ) Знаю формат pf24bit но там на каждый цвет только то байту.... На крайний случай можно в сером. Прогаю в Buildere Со стороны "хардвера" Вам нужна такая видеокарта: 10/12-bit NVidia Graphic cardsи такой монитор: 10-bit NEC monitor(и это ещё не самые дорогие решения). 16 бит grayscale - это вряд ли. Хотя, у Вас небольшая путаница в исходных данных: 2 байта - это же никак не 1024
|
|
|
|
|
Aug 7 2017, 09:57
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
сохраняйте например в PNG который 16бит на цвет поддерживает, а потом "приблизить" можно в любом просмотрщике картинок, irfanview например (или через imagemagic преобразовать), покрутив яркость/контраст. однако на вашей картинке шумы такие, что отлогорифмированные 10 бит в 8 ничего там не испортят. честно отображать 10бит далеко не каждый монитор умеет, не говоря про то что заметна эта разница только на картинках с очень плавными градиентами, без шумов. Цитата(Димыч @ Aug 7 2017, 16:23)  Со стороны "хардвера" Вам нужна такая видеокарта: 10/12-bit NVidia Graphic cardsи такой монитор: 10-bit NEC monitor(и это ещё не самые дорогие решения). вроде у nvidia все что после 9хх 10хх умеет в 10ти битный цвет, а не только квадры, у амд тоже есть карты по-проще, да даже встроенный интел что-то умеет. и мониторы тоже есть попроще, не медицинские PA246Q, GW2765H. только имхо ничем это для этой картинки не поможет.
|
|
|
|
|
Aug 7 2017, 10:57
|
Местный
  
Группа: Участник
Сообщений: 364
Регистрация: 25-09-08
Пользователь №: 40 483

|
Цитата(Димыч @ Aug 7 2017, 13:23)  16 бит grayscale - это вряд ли. Хотя, у Вас небольшая путаница в исходных данных: 2 байта - это же никак не 1024  Что два байта что 1024 для сохранения уже не важно ) Цитата(_pv @ Aug 7 2017, 13:57)  С шумами я борюсь еще не вечер. А как составить gBitmap для сохранения в png чтобы он 16бит /цвет поддерживал ?
Сообщение отредактировал whale_nik - Aug 7 2017, 10:58
|
|
|
|
|
Aug 7 2017, 14:27
|
Местный
  
Группа: Участник
Сообщений: 364
Регистрация: 25-09-08
Пользователь №: 40 483

|
Цитата(_pv @ Aug 7 2017, 15:22)  взять libpng и просто писать в файл данные, png_write_image без составления каких-либо gBitmapов, чтобы это не значило. Не могли бы вы привести пример как записывать массив данных в два байта в png ?
|
|
|
|
|
Aug 7 2017, 15:21
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
для себя конечно можно хранить как угодно, хоть просто в 16ти битном raw, если размеры картинки сами знаете и они не меняются
а PNG это просто простой и распространённый формат, который все просмотрщики понимают, тогда можно просто тот же irfanview использовать, в нём можно и зумить и цветокоррекцию делать.
7МБ это bmp, который 1600*1600*3байта = 7.6МБ. PNG можно и 16ти битный GRAYSCALE сделать, это два байта на пиксель, плюс сжатие, которое правда на таких картинках не очень работает, но всё же. прикреплённая картинка в png занимает 2МБ с 8*3 = 24х битным цветом.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|