Anaglypher

Also available in English: http://shura.luberetsky.ru/plaginy-dlya-avisynth/anaglypher-plugin-for-avisynth/

Anaglypher — это плагин для AviSynth, преобразующий стереопары в анаглифическое изображение. Он вычисляет цветовые компоненты результирующего изображения по следующему правилу:

anaglypher

В этой формуле (R, G, B) — это вектор цветовых компонент результирующего изображения, (Rl, Gl, Bl) и (Rr, Gr, Br) — цветовые компоненты соответственно левого и правого изображений, Li,j и Ri,j — матрицы преобразования цветов.

Несмотря на сложную запись преобразований, использовать плагин достаточно легко. Плагин добавляет в AviSynth функцию

Anaglypher(clip Left, clip Right, \
	   float L11, float L12, float L13, \
	   float L21, float L22, float L23, \
	   float L31, float L32, float L33, \
	   float R11, float R12, float R13, \
	   float R21, float R22, float R23, \
	   float R31, float R32, float R33)

Left и Right — два клипа в формате RGB24 или RGB32, в которых находится соответственно левое и правое изображение стереопары. Ширина и высота кадра в обоих клипах должна быть одинаковой.

Для изготовления анаглифического изображения надо задать параметры функции, например, таким образом:

— монохромный анаглиф (red-cyan)

Anaglypher(Left, Right, \
	   0.299, 0.587, 0.114, \
	       0,     0,     0, \
	       0,     0,     0, \
	       0,     0,     0, \
	   0.299, 0.587, 0.114, \
	   0.299, 0.587, 0.114)

— цветной анаглиф (red-cyan)

Anaglypher(Left, Right, \
	       1,     0,     0, \
	       0,     0,     0, \
	       0,     0,     0, \
	       0,     0,     0, \
	       0,     1,     0, \
	       0,     0,     1)

— анаглиф Дюбуа (red-cyan)

Anaglypher(Left, Right, \
	    0.456,  0.500,  0.176, \
	   -0.040, -0.038, -0.016, \
	   -0.015, -0.021, -0.005, \
	   -0.043, -0.088, -0.002, \
	    0.378,  0.734, -0.018, \
	   -0.072, -0.013,  1.226)

Другие примеры применения плагина приведены в документации.

Пример получаемого видео (по методу Дюбуа):

http://shura.luberetsky.ru/anaglypher/Dubois.avi

Скачать плагин можно у меня:

http://shura.luberetsky.ru/anaglypher/Anaglypher.zip

Плагин устанавливается стандартным образом — копированием файла Anaglypher.dll в папку Plugins в директории AviSynth.

Anaglypher: 8 комментариев

  1. Хороший плагин.
    Хотел узнать, а возможно ли создание плагина для avisynth, но с обратным эффектом — раскладывающее анаглиф изображение на стереопары? (Про полную потерю цвета или же возможность сохранения цвета лишь в одном «канале» — вкурсе).
    Пока подобное встречал в виде отдельного софта: StereoMovie Maker, но не нравится то что размер кадра максимальный 640×480 и возможность сохранения только в avi формат. :(

  2. Нашел ошибку в работе плагина!
    При использовании отрицательных коэффициентов если результат оказывается меньше нуля, происходит инверсия цветов в каналах. Например, исходный цвет RGB (255,255,15) вычитается (0,0,20) в результате получим (0,255,250), а хотелось бы получить (255,255,0)

    1. Насколько я помню, эту ошибку я исправлял. На выходных проверю (у меня сейчас нет возможности поставить AviSynth), если окажется, что на сайте старая версия плагина — то заменю.

  3. И все таки, ошибка с переполнением разрядности есть! Могу прислать тестовый файлик (скрипт ависинта + две картинки jpg) на котором видно ошибку, только не знаю куда прислать, может напишете мне в личку? Плагин ваш очень хороший, аналогов не нашел, только вот эта ошибочка мешает использовать

    1. Плагин ваш хороший.Только работает медленно, можно как-то его ускорить.Есть другой способ через фильтр 3dtv.at Stereo Transformation и он работает в 2 раза быстрей,но у него нет дюбуа

  4. Спасибо за плагин, а можно и мне исправленную версию? спасибо заранее

  5. «…если окажется, что на сайте старая версия плагина – то заменю». Александр,очень прошу Вас выложить исправленную версию.,на шейдерах далеко не уехать:( Спасибо.

Обсуждение закрыто.