LINUX.ORG.RU

[стерео][фото][imagemagick] Как «нарезать» красно-синий анаглиф на два раздельных фото?

 ,


0

1

Сабж. Сообразил тут, что пропустив красно-синий анаглиф через соответствующий программный фильтр и отрезав ненужное можно получить стереопару, из которой уже, при желании, можно собрать нормальную перекрёстную пару.

Есть мысли, как это сделать с помощью imagemagick или иного инструмента? Главное, чтобы автоматически, не вручную. Задача же на 100% автоматизируется.

★★★★★

Ответ на: комментарий от kifer

>Цветовой информации не хватит.

Естественно, речь о ч/б идёт. А как, по-твоему, красно-синие изображения люди смотрят? :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Скорее всего полноценно не выйдет, щас посмотрел R - канал целиком уходит на один глаз, GB - на другой. При этом каждый глаз получает информацию только об определенном цвете, а значит что для левого глаза, к примеру, нет информации о синем и зеленом.

kifer
()
Ответ на: комментарий от kifer

Анаглифом обычно кодируют чёрно-белые (или монохромные) картинки.

Хотя некоторые цвета, например жёлтый, вполне дружат с анаглифом.

PolarFox ★★★★★
()
Ответ на: комментарий от kifer

>а вот для такого можно, просто разложение на R и GB

Как это в imagemagick сделать? :) Пока никак найти что-то не могу. С помощью какой опции можно разобрать на слои изображение?

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от kifer

Причем для фотографий из prophotos_ru все верно, а вот комикс сделан с каждым уникальным каналом, т.е. там R - левый, G - центр, B - правый, примерно так.

kifer
()
Ответ на: комментарий от kifer

Ага, понятно. Правда, непонятно, почему R в ч/б темнее, чем G и B. Последние - одной яркости. Ну да подберу :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

В общем, задачу я решил. А вот в частностях... Почему-то исходная картинка, нарезанная на ч/б слои, имеет разные яркости для левого и правого каналов.

Правый канал, отдельный R, темнее, чем левый, G+B.

Вроде, поскольку G и B суммируются при просмотре, должно наоборот быть. Просмотру не мешает, но всё равно неприятно.

Пример скрипта для конвертации:

#!/bin/bash

convert "$1" -separate tmp.png

W=$(identify -format %w tmp-0.png)
H=$(identify -format %h tmp-0.png)
B=20

L=tmp-1.png # green
R=tmp-0.png # red

convert $L -extent 200%x100% tmp.png
composite -gravity east $R tmp.png tmp-a.png
convert tmp-a.png -background gray -splice ${B}x0+${W}+0 tmp-b.png
convert tmp-b.png -background gray -extent $((2*$W+3*$B))x$(($H+2*$B))-${B}-${B} $(basename "$1" .jpg)-cross-eye.jpg
rm tmp*

Пример исходного фото: http://balancer.ru/img/forums/1101/5377495077_e210e9b0f2_b.jpg

И преобразованное в перекрёстную стереопару: http://balancer.ru/img/forums/1101/5377495077_e210e9b0f2_b-cross-eye.jpg

KRoN73 ★★★★★
() автор топика
26 февраля 2011 г.

Как «нарезать» красно-синий анаглиф на два раздельных фото?

Попробуй через фотошоп там можно отключить в каналах какието два канала а один оставить а потом сохранить

art76
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.