A A A A Автор Тема: Вопрос по алгоритмам цифрозеркалок  (Прочитано 4338 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн pterodaktilАвтор темы

  • *****
  • Сообщений: 4 210
  • Благодарностей: 64
  • Евгений
    • Skype - pterodaktil02
    • Сообщения от pterodaktil
Коллеги! у меня следующий вопрос: Как происходит получение цветных снимков в цифрозеркалке более или менее понятно (фильтр Баера или аналогичные алгоритмы). А как считается интенсивность конкретного пиксела при получении ЧБ фото?
« Последнее редактирование: 25 Янв 2007 [15:21:33] от pterodaktil »
Куплю космический челнок, способный покинуть пределы солнечной системы.
Моя on-line метеостанция

Оффлайн Un4given

  • ***
  • Сообщений: 158
  • Благодарностей: 2
    • Сообщения от Un4given
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #1 : 25 Янв 2007 [17:54:32] »
Если в чёрно-белой камере, то там картинка по жизни чб.  :)

Если нужно из цветной картинки сделать чб, то вариантов множество и разработчик каждого алгоритма клянётся и божится, что его вариант лучше всех.

Самый простой и распространённый, если у нас картинка не РАВ с матрицы, а уже "готовая" в каком-нибудь привычном формате:
Y (яркость) = 0.3*R+0.59*G+0.11*B, где R, G, B - красный, зелёный, синий, соответственно. В других алгоритмах могут коэффициенты отличаться.

Если картинка монохромная (не ч/б, а черно-красная, например) то просто взять соответствующий цветовой канал (красный, в том примере)

Если файло с матрицы в сыром формате, то сначала дебайер и потом перевод в чб...

Оффлайн Forger

  • ****
  • Сообщений: 264
  • Благодарностей: 2
    • Сообщения от Forger
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #2 : 25 Янв 2007 [20:12:08] »
А дебайеризация может по-разному проводиться. В Дяди Вовиной программе :) к примеру, можно из рава сделать на выходе программный биннинг (сложение яркости пикселей байеровской матрицы) или представить каждый пикселик байеровской матрицы самостоятельным ч/б пикселем, увеличив разрешение.

На форуме много спецов по электронике, я думаю, они могут неплохо рассказать про алгоритмы дебайеризации.  Для себя я уяснил, что яркость пикселя в каждом RGB-канале при дебайризации считается как хитрая функция освещенности каждого субпикселя. А так как матрица 2х2, и зеленых пикселей 2, а не один, баланс цветов считается через коэффициенты, учитывающие в т.ч. настройки баланса белого.

Если из RGB считается ч/б изображение, цветовая информация обычно не просто стирается, а пересчитывается с учетом, особенности фиксации того или иного цвета, скажем, ч/б пленкой, так получается естественней.
STF Mirage 7 на MT-3S-2D, рефрактор DeepSky 80/480, ТАЛ-120 доработанный, Pentax K10D

Оффлайн pterodaktilАвтор темы

  • *****
  • Сообщений: 4 210
  • Благодарностей: 64
  • Евгений
    • Skype - pterodaktil02
    • Сообщения от pterodaktil
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #3 : 26 Янв 2007 [11:02:41] »
Уточняю вопрос... имеется RAW какими алгоритмами считается яркость каждого пикселя (матрица то под Баеровской маской)?
Куплю космический челнок, способный покинуть пределы солнечной системы.
Моя on-line метеостанция

Оффлайн Александр Ростов

  • *****
  • Сообщений: 1 809
  • Благодарностей: 71
  • Не дадим фотонам разлетаться бесцельно!
    • Сообщения от Александр Ростов
    • http://www.alexrst.ru
65536 оттенков серого...
http://www.alexrst.ru

Оффлайн pterodaktilАвтор темы

  • *****
  • Сообщений: 4 210
  • Благодарностей: 64
  • Евгений
    • Skype - pterodaktil02
    • Сообщения от pterodaktil
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #5 : 26 Янв 2007 [11:59:37] »
Не догадался гуглю по английски спросить ;-)
Куплю космический челнок, способный покинуть пределы солнечной системы.
Моя on-line метеостанция

Оффлайн Ivan Mhitarov

  • Модератор
  • *****
  • Сообщений: 6 344
  • Благодарностей: 108
  • Награды Неоднократный победитель конкурса астрофото
    • Сообщения от Ivan Mhitarov
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #6 : 26 Янв 2007 [12:18:24] »
Пришла тут идея в голову:
А можно из RAW вытащить недебаеризованную картинку высокого разрешения? Если да, то как?
А потом из тех же RAW вытащить уже цвета с интерполяцией и потерей разрешения.
Из первого кадра сделать L канал а из второго - RGB а дальше их совместить в LRGB.
Будет ли в результате этого наблюдаться повышение разрешения?
Иван Мхитаров
Кубанский Астрономический Клуб "45".

Оффлайн pterodaktilАвтор темы

  • *****
  • Сообщений: 4 210
  • Благодарностей: 64
  • Евгений
    • Skype - pterodaktil02
    • Сообщения от pterodaktil
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #7 : 26 Янв 2007 [12:26:09] »
Пришла тут идея в голову:
А можно из RAW вытащить недебаеризованную картинку высокого разрешения? Если да, то как?
А потом из тех же RAW вытащить уже цвета с интерполяцией и потерей разрешения.
Из первого кадра сделать L канал а из второго - RGB а дальше их совместить в LRGB.
Будет ли в результате этого наблюдаться повышение разрешения?
Это я тоже хочу узнать... как обработкой "снять"  баеровскую маску
Куплю космический челнок, способный покинуть пределы солнечной системы.
Моя on-line метеостанция

Оффлайн Александр Ростов

  • *****
  • Сообщений: 1 809
  • Благодарностей: 71
  • Не дадим фотонам разлетаться бесцельно!
    • Сообщения от Александр Ростов
    • http://www.alexrst.ru
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #8 : 26 Янв 2007 [12:31:12] »
Пришла тут идея в голову:
А можно из RAW вытащить недебаеризованную картинку высокого разрешения? Если да, то как?
А потом из тех же RAW вытащить уже цвета с интерполяцией и потерей разрешения.
Из первого кадра сделать L канал а из второго - RGB а дальше их совместить в LRGB.
Будет ли в результате этого наблюдаться повышение разрешения?

Идея хорошая, но для сложных объектов не сработает. Если бы объект был одноцветным, вопрос решался бы простым введением коэффициентов для каждого цвета.

Теоретически можно было бы зная цвет объекта в каждой точке вычислить точное значение яркости. Но узнать цвет можно только через дебайеризацию, так что вариант отпадает. Проще сразу дебайеризировать в ч/б - это неплохой компромиссный вариант, кстати. Но всё равно всё интерполируется.
« Последнее редактирование: 26 Янв 2007 [12:33:08] от Александр Ростов »
65536 оттенков серого...
http://www.alexrst.ru

Оффлайн Ivan Mhitarov

  • Модератор
  • *****
  • Сообщений: 6 344
  • Благодарностей: 108
  • Награды Неоднократный победитель конкурса астрофото
    • Сообщения от Ivan Mhitarov
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #9 : 26 Янв 2007 [12:50:31] »
Идея основывается на том, что из RAW можно получить ч/б снимок с разрешением повыше и цветной с разрешением пониже. Так что нам мешает обработать их по очереди и потом сделать LRGB композицию?
Иван Мхитаров
Кубанский Астрономический Клуб "45".

Оффлайн Александр Ростов

  • *****
  • Сообщений: 1 809
  • Благодарностей: 71
  • Не дадим фотонам разлетаться бесцельно!
    • Сообщения от Александр Ростов
    • http://www.alexrst.ru
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #10 : 26 Янв 2007 [13:18:54] »
Идея основывается на том, что из RAW можно получить ч/б снимок с разрешением повыше и цветной с разрешением пониже. Так что нам мешает обработать их по очереди и потом сделать LRGB композицию?

Мешает то, что зная яркость в одном фильтре нельзя однозначно определить яркость в других фильтрах без интерполяции.

Допустим имеем матрицу из 3-пикселей (всего), но байеровскую: R,G,B. Значения в RAW на снимке: 1,2,3. Как получить hi-rez не интерполируя (допустим, что коэффициент пропускания у фильтров одинаковый на своей длине волны)? Это мог быть ч/б (серый) объект, с повышающейся к краю яркостью, или просто однотонный голубой объект - как их отличить? Стандартными средствами - никак.
« Последнее редактирование: 26 Янв 2007 [13:58:58] от Александр Ростов »
65536 оттенков серого...
http://www.alexrst.ru

Оффлайн Un4given

  • ***
  • Сообщений: 158
  • Благодарностей: 2
    • Сообщения от Un4given
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #11 : 26 Янв 2007 [14:15:15] »
Идея основывается на том, что из RAW можно получить ч/б снимок с разрешением повыше и цветной с разрешением пониже. Так что нам мешает обработать их по очереди и потом сделать LRGB композицию?
В том-то и дело, что из РАВ нельзя получить чб снимок с разрешением повыше. Там высокое разрешение не яркостной составляющей, а набора цветов с разными длинами волн. А они сами по себе интереса не представляют. И как правильно было замечено, для высокодетализированной картинки будут ошибки. А для низкодетализированной повышение разрешения нафик не нужнО.

Если бы это было возможно, то в проф. камерах не ставили бы 3CCD, народ не изобретал бы Foveon и т.д. Вариантов дебайеризации на свете превеликое множество, каждая фирма стремится улучшить, но увы и ах...

Оффлайн Евгений Ромас(BrainBug)

  • Первооткрыватель астероидов
  • *****
  • Сообщений: 6 192
  • Благодарностей: 328
  • КУ!
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Евгений Ромас(BrainBug)
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #12 : 26 Янв 2007 [14:20:12] »
Пришла тут идея в голову:
А можно из RAW вытащить недебаеризованную картинку высокого разрешения? Если да, то как?
А потом из тех же RAW вытащить уже цвета с интерполяцией и потерей разрешения.
Из первого кадра сделать L канал а из второго - RGB а дальше их совместить в LRGB.
Будет ли в результате этого наблюдаться повышение разрешения?
В Linux-е есть замечательная тулза по переводу из RAW в любые други форматы...
Дык вот. Она умеет доставать из RAW как раз то что вам нужно! Именно по этому я под Linux-ом обрабатываю свои снимки.
Данный пример конвертит RAW в RGB FITS с автоматическим определением балланса белого(параметр -a):
#!/bin/bash
for i in `ls |grep CR2`; do
    export ORIG_FILE=\"$i\"
    export CONV_FILE=\"$i.RGB.fits\"
    dcraw -c -a -o 1 -H 1 -4 $ORIG_FILE | pnmtofits > $CONV_FILE
done
Если интересует более расширенная инфа по этому делу - читайте man dcraw - возможностей куча!
Rig1: 254/1000 карбоновый ньютон, NEQ6 Pro SynScan, QHY600PH-M, GPU coma-corrector, Datyson T7m + 32/128;
Rig2: GSO RC6 f/6.5, HEQ5 Pro, CCDT67, QHY183M, ASI662MC + 60/240;
В запасе SBIG ST-402ME, Nikon D5300a(full spectrum mod), EQ5;
malum edo ipsum
MPC code: L76(Nomad Observatory)
Канал на youtube.

Оффлайн pterodaktilАвтор темы

  • *****
  • Сообщений: 4 210
  • Благодарностей: 64
  • Евгений
    • Skype - pterodaktil02
    • Сообщения от pterodaktil
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #13 : 26 Янв 2007 [15:07:34] »
Александр, до меня только дошло, что ты описал на пальцах теорему Котельникова... И для того чтобы мы могли восстановить информацию о сигнале в каждой точке, нам надо иметь по 9 пиксела расположенных квадратом 3х3 под R и B И 2х2 под каждым зеленым... Или я чего-то не понимаю
« Последнее редактирование: 26 Янв 2007 [15:19:04] от pterodaktil »
Куплю космический челнок, способный покинуть пределы солнечной системы.
Моя on-line метеостанция

Оффлайн pterodaktilАвтор темы

  • *****
  • Сообщений: 4 210
  • Благодарностей: 64
  • Евгений
    • Skype - pterodaktil02
    • Сообщения от pterodaktil
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #14 : 26 Янв 2007 [15:35:19] »
А вообще мужики ! Должна же быть известна кривая пропускания каждого фильтра (Р, Г и Б)  Зная эту кривую и количество отсчетов с пиксела, мы можем вычислить ТОЧНОЕ значение  сигнала без фильтра!!! Вопрос где взять эту кривую???
Куплю космический челнок, способный покинуть пределы солнечной системы.
Моя on-line метеостанция

Оффлайн Ivan Mhitarov

  • Модератор
  • *****
  • Сообщений: 6 344
  • Благодарностей: 108
  • Награды Неоднократный победитель конкурса астрофото
    • Сообщения от Ivan Mhitarov
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #15 : 26 Янв 2007 [15:37:51] »
Не, я так себе представляю, что у нас есть 6 (для 300D) мегапикселей информации с отсчетами от 0 до 4095 (12 bit). Это RAW.
Для получения цветного изображения программы, зная, какие пиксели отвечают за какой цвет просто составляют в 4 раза меньше цветных пикселей из Баесовой матрицы. А потом изображение РАСТЯГИВАЮТ, теряя разрешение до тех же 6 мегапикселей.

Так вот, хотелось бы получить ч/б изображение минуя дебаеризацию и интерполяцию и использовать его как L канал.
Понятно, что для каждого элемента матрицы надо будет вводит свой весовой коэффициент (наподобии флета).
И обработать этот ч/б как полагается.
Иван Мхитаров
Кубанский Астрономический Клуб "45".

Оффлайн pterodaktilАвтор темы

  • *****
  • Сообщений: 4 210
  • Благодарностей: 64
  • Евгений
    • Skype - pterodaktil02
    • Сообщения от pterodaktil
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #16 : 26 Янв 2007 [15:42:12] »
Не, я так себе представляю, что у нас есть 6 (для 300D) мегапикселей информации с отсчетами от 0 до 4095 (12 bit). Это RAW.
Для получения цветного изображения программы, зная, какие пиксели отвечают за какой цвет просто составляют в 4 раза меньше цветных пикселей из Баесовой матрицы. А потом изображение РАСТЯГИВАЮТ, теряя разрешение до тех же 6 мегапикселей.

Так вот, хотелось бы получить ч/б изображение минуя дебаеризацию и интерполяцию и использовать его как L канал.
Понятно, что для каждого элемента матрицы надо будет вводит свой весовой коэффициент (наподобии флета).
И обработать этот ч/б как полагается.
ТО же самое и я сказал только другими словами
А вообще мужики ! Должна же быть известна кривая пропускания каждого фильтра (Р, Г и Б)  Зная эту кривую и количество отсчетов с пиксела, мы можем вычислить ТОЧНОЕ значение  сигнала без фильтра!!! Вопрос где взять эту кривую???
Куплю космический челнок, способный покинуть пределы солнечной системы.
Моя on-line метеостанция

Оффлайн Александр Ростов

  • *****
  • Сообщений: 1 809
  • Благодарностей: 71
  • Не дадим фотонам разлетаться бесцельно!
    • Сообщения от Александр Ростов
    • http://www.alexrst.ru
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #17 : 26 Янв 2007 [15:44:36] »
Александр, до меня только дошло, что ты описал на пальцах теорему Котельникова... И для того чтобы мы могли восстановить информацию о сигнале в каждой точке, нам надо иметь по 9 пиксела расположенных квадратом 3х3 под R и B И 2х2 под каждым зеленым... Или я чего-то не понимаю

Не совсем про Котельникова - там вопрос о дискретизации непрерывных сигналов, а у нас вопрос как по яркости одной длины волны определить яркость всего исходного неизвестного спектра ;D. Какой бы ни была дискретизация, задача не имеет решения в принципе.

p.s.: если спектр известен, задача легко решается. Как раз и получатся те самые коэффициенты.
p.p.s.: я могу быть неправ, это нужно иметь в виду. Но пока никто не предложит как по одной линии спектра восстановить весь спектр, буду стоять на своём ;D
65536 оттенков серого...
http://www.alexrst.ru

Оффлайн Александр Ростов

  • *****
  • Сообщений: 1 809
  • Благодарностей: 71
  • Не дадим фотонам разлетаться бесцельно!
    • Сообщения от Александр Ростов
    • http://www.alexrst.ru
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #18 : 26 Янв 2007 [15:50:28] »
Кстати, штатный фильтр в зеркалках намеренно понижает резкость изображения, поэтому о сверхвысоком разрешении до замены фильтра говорить очень сложно. После замены будет попроще, но байеровские артефакты опять всё испортят.

p.s.: напоминаю о возможности конвертации RAW->B/W, где уже учтено всё что можно, и которая работает на пределе возможной для общих случаев точности.
65536 оттенков серого...
http://www.alexrst.ru

Оффлайн Mirali

  • *****
  • Сообщений: 4 885
  • Благодарностей: 569
  • Коллеги, извините, в Клубе временно не пишу
    • Сообщения от Mirali
    • Бородатый астроном
Re: Вопрос по алгоритмам цифрозеркалок
« Ответ #19 : 26 Янв 2007 [15:53:49] »
Не, я так себе представляю, что у нас есть 6 (для 300D) мегапикселей информации с отсчетами от 0 до 4095 (12 bit). Это RAW.
Для получения цветного изображения программы, зная, какие пиксели отвечают за какой цвет просто составляют в 4 раза меньше цветных пикселей из Баесовой матрицы. А потом изображение РАСТЯГИВАЮТ, теряя разрешение до тех же 6 мегапикселей.

Так вот, хотелось бы получить ч/б изображение минуя дебаеризацию и интерполяцию и использовать его как L канал.
Понятно, что для каждого элемента матрицы надо будет вводит свой весовой коэффициент (наподобии флета).
И обработать этот ч/б как полагается.

Ваня, а чем тебя не устраивает механизм IRIS'а?
Московский Астроклуб