forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Математика (http://forum.boolean.name/forumdisplay.php?f=85)
-   -   Глубинный шейдер (http://forum.boolean.name/showthread.php?t=20061)

RegIon 27.10.2015 10:00

Глубинный шейдер
 
Решил комп научить видеть с глубиной, получая стереоизображения с камер.
Теперь возник вопрос как адекватно шейдер написать.
Почитал про матрицу собеля для получения граней на изображении, про диспаритет пикселя и т.д.

Набросал шейдер: http://goo.gl/hYXkO2
Теперь собственно вопрос:
  1. Как в GLSL сделать 2х проходный шейдер, так как сначала нужно вычислить градиент, а потом только диспаритет.
  2. Как ускорить вычисление диспаритета с более адекватной точностью и как-то нормализовать его, а то текущий результат никак не нравится, а если повышать интерации, то висит все к хренам.:rolleyes:
UPD: читал это

Mr_F_ 27.10.2015 11:23

Ответ: Глубинный шейдер
 
Цитата:

Как в GLSL сделать 2х проходный шейдер, так как сначала нужно вычислить градиент, а потом только диспаритет.
сделать 2 шейдера

RegIon 27.10.2015 18:11

Ответ: Глубинный шейдер
 
Сделал 2 шейдера, перешел в Unity, так как WebGL дико висел.
Но блин никак адекватно не могу сделать, при том что стереопара вроде хорошая.




Шейдер который вычисляет разницу и из-за которого все тормозит: http://pastebin.com/kjT5LRiD
(за говнокод не пинать, я хрен знает как там быстрее будет и лучше )

и картинка


конечно можно и openCV, но какая-то ошибка вываливалась, да и вообще хочу мобилку с горем попалам это делать:mad: и сам хочу разобраться.

Не знаю почему, но если пройтись фильтром собеля (как на скрине), то это не особо помогает.


Часовой пояс GMT +4, время: 11:49.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot