[image]

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

 
+
-
edit
 

KRoN73
Balancer

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

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

[/p]

// Транслировано с
http://www.linux.org.ru/forum/general/5825284
   
+
-
edit
 

Anika

координатор
★★☆
KRoN73> Сабж. Сообразил тут, что пропустив красно-синий анаглиф через соответствующий программный фильтр и отрезав ненужное можно получить стереопару, из которой уже, при желании, можно собрать нормальную перекрёстную пару.
Ром, а какой формат анаглифа? Если BMP, так там структура нехитрая, ты опытный программиер, разобрать файло на запчасти - нефиг делать. Вот если GIF, не говоря уж о JPEGе - это будет сложнее.
   
+
-
edit
 

Balancer

администратор
★★★★★
Anika> Если BMP, так там структура нехитрая

Гы. Мы же в XXI веке живём :) Я зря, что ли, про ImageMagick спрашивал? :)

...

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

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

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

Пример скрипта для конвертации:
code text
  1. #!/bin/bash
  2.  
  3. convert "$1" -separate tmp.png
  4.  
  5. W=$(identify -format %w tmp-0.png)
  6. H=$(identify -format %h tmp-0.png)
  7. B=20
  8.  
  9. L=tmp-1.png # green
  10. R=tmp-0.png # red
  11.  
  12. convert $L -extent 200%x100% tmp.png
  13. composite -gravity east $R tmp.png tmp-a.png
  14. convert tmp-a.png -background gray -splice ${B}x0+${W}+0 tmp-b.png
  15. convert tmp-b.png -background gray -extent $((2*$W+3*$B))x$(($H+2*$B))-${B}-${B} $(basename "$1" .jpg)-cross-eye.jpg
  16. rm tmp*


Пример исходного фото:


И преобразованное в перекрёстную стереопару:
   
+
-
edit
 

Balancer

администратор
★★★★★
Конвертнул все фотки и положил в Изображения за Январь 2011 года

Походу, можно делать репостинг в Исторический :)
   
+
-
edit
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru