本帖最后由 wzwangsc 于 2016-3-4 07:30 编辑 $ p7 q( J+ [! G! b0 b
4 `2 R& w3 I! Q1 _+ L3 c7 \6 E
六、如何得到深度图
# R! _# ` {2 _2 U% Q, k
" M9 t% f7 G5 ~. P- }8 H 目前有许多可用于转换深度图的软件,例如:StereoTracer、3D Gugle X等。由于深度图的计算相当复杂,尚没有完美的算法数学模型,故这些软件都无法真正给出精确的深度图,一般都需要后续的图形处理软件来补正,下面介绍两个得到深度图的软件:(1)SteroTracer;(2)3D Gugle X中的“Direct Depth Map”;前者可用于由立体图对确定的3D场景,后者用于对一个2D图形的平转立深度映射。# A) T/ X" X: G) N
1 ^! C3 ?; K- R- n 1、使用软件“StereoTracer”得到立体图对的深度图! A. n/ [' c: D* C
. f. T: r& H% G- ]- k
Triaxes StereoTracer是一款被设计用来由2D+深度图或由一幅立体图对,通过深度图来渲染多视点图形,从而创建立体(3D)图的软件。StereoTracer 可以产生一系列的图像帧,这些图像帧之间都具有微小的视角差异,这个处理类似于在一条水平线上的不同点处,对同一个场景进行摄影,所得的系列帧可以用于诸如“3DMasterKit”或其它3D程序中,以创建3D图像。
$ q9 O1 z' }( g# S3 {8 l: ~2 l 在StereoTracer中,深度图可以由立体图对自动产生,也可通过任何图像编辑器对原始图像进行处理得到。产生一个多视点系列图的步骤包括以下一些操作:! o2 ]8 [. V7 O T% m
& m! t- `3 X9 S; t" z) J
(1)打开源图(原图+深度图或立体图对)
7 a3 O9 C h: g7 ^7 I, f8 G3 Z% A (2)创建或更正深度图(如果必要的话)
' g) R8 Q" K# h& n w3 z3 f (3)产生帧系列
1 W9 u- S6 _4 j+ J( o (4)保存产生的多视点帧作进一步编码,或输出至Triaxes 3DMasterKit.
; X- q1 P! ^9 }, ?2 j! S! E
/ D' u0 a1 G+ i! s; u 当我们的3D场景信息是由立体图对给出时,就可以由StereoTracer上述步骤中的(2)得到图对左右图的深度图。- d* e6 A" M' L9 ^6 H
: z5 ~) i' Y. Z- x/ B+ R StereoTracer的最新版本是7.1.18,下面是其下载地址:* G& I, h3 _) c1 U+ P( W2 [7 o
0 l3 v4 A2 o: ]% b7 U http://triaxes.com/downloads/setup-stereotracer-en.zip& i' G, P1 ?6 u- t$ }- z/ K
; k, I, [9 s0 \6 |* ~# \$ I
这是一个演示版,具有正版所有的功能,只是如果没激活软件,则保存的结果图会被打上“Triaxes StereoTracer Demo”的水印,需要后期去水印(但也可以不去水印凑合着用)。
0 r) L7 C6 Q. p: d& u
, L& `) P2 q! z5 L& ] 下面是SteeoTracer 4.0版本的下载地址,虽然也是演示版,但己破解,最后结果不会打上水印:* ?/ l) t# c W& N7 P& o/ r
9 u$ q! K* U/ [! [
StereoTracer4.rar (提取码:wg88) [3 ]- W* ]. ]% i: P
" x+ u5 k: U, |7 \
以下的介绍是针对4.0版本,限于篇幅,不再介绍该软件的用户界面、菜单等基本情况,可自己下载后摸索了解。
, D( P4 d. h: U6 `1 q0 ^ W5 A5 o( z1 r. _
例4:这是摄自中普陀寺的一张立体图片
5 F q3 E2 E0 f) x/ @! p# N, U" X C* W- v, b7 o! U* F( Q
* ^- f# {; F7 `' P# T" ?; M% n3 b, |: p g0 C. p0 d$ d
为了转换得到其深度图,可如下操作:
8 e/ o z W5 Q: q6 ^. n( ~+ i+ c7 U! X# M3 n' @
(1)打开程序“StereoTracer”,弹出“激活”界面,选择其中的“Demo(演示)”按钮,进入程序的主界面:
S9 w0 M8 C4 l0 A6 B( z# ?
7 G1 y6 z& `# ?/ s
8 n3 K# u: ?9 q4 x. q1 Z) @; M0 I7 S( q2 X! a @. \0 D
(2)选择菜单项“File -> New...”
* `9 y7 k. R% k& t3 t, o; e6 o* q% O3 x, S U
- G6 z9 V3 M1 m9 e/ q& B
0 q; R/ u2 G2 q7 P. q
(3)在弹出的“Choose project type”对话框中选择项目类型:
1 I+ L% I8 O" A3 |: P
, |* g0 a A4 [7 B* `
& Q9 ~4 \4 r0 X9 d6 K
& T( s) {1 C, F! L6 g q
有两个选项:5 r. I% A- l5 R. @: E
Original picture & depth-map(原始图像和深度图),图像和深度图是用来产生多视点系列帧的。: t! g e1 W! e _0 V& [3 P
Stereopair(立体图对),会产生相应的深度图。" @3 O2 M) v$ _+ b' l4 Y
选择第二个选项,单击“Next(下一步)”。
1 X* @# I, r" I
* I* G4 s ?/ W5 b5 _" K9 \ (4)弹出如下的“Open source images(选择源图像)” 对话框6 B" |0 G. G N W! C
# v9 J1 e. p9 Y& W! w# U
* a6 G- I3 r# l+ ^2 @* q
& h3 ^& d! |0 }4 n9 y: k1 F 原始的立体图对要求必须是分离的左右图,点击对话框上方左面的“Left image(左图)”方框,就可以在对话框下方选择相应的左图文件,选中的图像文件的略图会显示在上方左面的图像框中。
. H; [ ?/ g7 D6 A$ G6 l {
' J9 n5 s/ g, T
, {) e$ Z. j* t' O2 ]5 t) M$ {# d; P+ A1 D# o
点击对话框上方右面的“Right image(右图)”,就可以在对话框下方选择相应的右图文件,选中的图像文件的略图会显示在上方右面的图像框中。
) S6 p' M7 D+ h7 J
* P6 x; b" b/ c9 j" j5 l- L* N
9 [& e" {6 s. L# l6 ]0 F+ r( R/ ]0 d% U. [ V
(5)完成后点击“打开”按钮,会弹出下面的“Matching of images(图像匹配)”窗口:& [# s; y: Y7 o
+ o9 |# S; | G$ N3 l; f
& w4 }; M8 q9 Z
" a! e- J! Z; K \9 V6 }- o 该窗口有左右两个图像框,分别显示左右图重叠的图像。可以自动匹配,也可以手工匹配。如勾选窗口下方的“Auto(自动)”检查框,两个图像框会立时显示匹配后的结果图(自动匹配视差和水平自动对齐)。也可以手动匹配(最好是先自动,后手动),这可以通过移动每个图像框下方的滑块条来调整,左面的图像框用来匹配最远的对象(背景部分),右面的图像框用来匹配最近的对象(前景部分),通过这样的匹配以得到对象的最大清晰度。就我们的这个例子,调整后的结果如下图所示:
8 h5 ~2 c) ?* {$ H7 X; v0 B
: w2 g& \+ |+ I1 v
8 }2 N2 r$ z2 ~
7 V3 g2 p: A$ m; Y0 V
, b2 J/ J% [; V& b8 v (6)完成后单击“Next”,弹出下面的“Select depth-map(选择深度图)”的对话框:* U" k% T" d$ ~ P1 c. @
/ N1 y! Y' i" x. n, z
2 E6 H8 y; W- D4 r" }8 J
5 B3 }+ e, K9 k. T) h4 [( \- t 此处提供了深度图的9个变体,你可以从中选择最好的一个,一般都是中间的那一个,这些变体图只是略图,其质量要低于其后选择的真正深度图。
# G3 \$ j# d) ]% v8 r N' q# C' G' z6 {& m W1 H6 C
你还可以通过对话框下方的“Tune”按钮来改变生成深度图的一些参数:
% i$ P1 Q, U/ ~. a n9 G
1 f& t; b+ C5 S) p" H* {
8 u' L. l0 F$ M4 I0 A9 d7 `0 @: P$ m9 q0 _2 s% A8 b0 V7 o( f
其中的参数不具体介绍了,可通过拉动各滑块条来观察效果。
' a K% d! U! z+ ^- G2 _8 K! l/ C2 @5 O/ T
(7)完成后单击“Next”则返回主程序界面,结果如下图:! O$ ~. t0 Z" \8 E
! _' Q2 Z# G L$ ?- T. c( ^
: a2 p( p1 i* A1 W! }, U% U% n* Y# B6 o9 ` u
下方的小窗口中显示的就是2D+深度图。7 {; o) [' E7 W' \
. P# Z4 B/ a: {/ k' P i/ d' U
(8)使用菜单项“Image -> Save frames...”或点击下方小窗口左上角的“Save frames...”图标9 | I/ V. X; P# O/ J. X; }: K
1 H$ j; \ T6 d$ G! p" v# u
, b" w3 f! z5 D& h) D# d
8 M0 P2 G7 p0 j1 d
(9)弹出下面的文件输出对话框
6 X% ]( H1 J: Q; ]$ L* C3 c
& F6 _6 j3 L0 p Y: p6 b
! ^& g' m0 U) a- K; U# ?* G% x! H- k3 k. e4 m8 H v2 r" y3 ^
给出输出文件的路径、名字、图像分辩率,最后点击“Export(导出)”按钮,只要有信息:5 y8 X4 k4 f2 c. ? X
5 A2 ]( V R* f- u
! z( t: P( U& N4 N4 |& D0 S) t
4 }/ c* Y" V' Z3 n, K 我们就成功地得到2D+深度图了:
) q9 q. I g8 S8 P1 V+ Q6 V" O& C+ S) C; m) o. [" s, u3 k! B
2 ^6 \) E/ r( k6 T& C
6 ?- w4 V1 p" m0 S8 B+ e" Y
9 j: R$ p3 S I
( }5 n; { k; O; a 这样得到的深度图是否可用,可通过将2D+深度图转化为立体图来观察,检查其立体层次是否正常,和原立体双图的立体效果是否大致一样,如差别较大,则需要对深度图作后期处理。
! V r+ l0 @" s' u' v. I6 J- K7 F6 ?
5 s5 E2 Y* `4 I# K; g* ]
" j. P2 U. f7 u: v! s0 r5 `6 p
+ {4 r- o d' F! Y- ^
7 [0 F" ^2 C) k- r
2、使用“3D Gugle Pro X”的“Direct Depth Map”来制作2D图的深度图& j- \: d8 C7 G1 B) A' _
" Z0 @2 q3 G. C% c% d
“3D Gugle Pro X”是一款平转立软件,其中的“Direct Depth Map(直接深度图)”功能就用于制作2D的深度图。由于内容较多,技术性高,准备另择文描述,这里只简介其作用。
0 N+ k+ b. F3 i3 j3 C- z) ?
& l1 @5 T# h3 p: v9 g. u# r+ y “Direct Depth Map(直接深度图)”是通过3D Gugle的菜单项“2D to 3D -> Direct Depth Map”进入的,其界面如下:7 U3 N- V; ~+ r
% {$ D6 N/ N! _+ n0 Z
, Y% h+ _7 s. t% ~: X. c4 C
' ?4 W$ n6 w7 |3 T8 J/ L0 \ “直接深度图”以三种不同方法操作:
& x; q+ g* h9 q* o0 u) c s% U7 h" r) e- M( I. x- Y
(1)Sketch(绘图):简单地通过鼠标的绘画直接来绘制出深度图,可以通过交叉图或平行图的方式观看深度图的立体效果,例如:
. q- @6 x/ \! C% [* @* P/ m; e' e. ` y% Z( E; e
) {. H, A& _, D+ P$ a. l& }; J" w3 [
(2)Conversion 3D(转换3D):使用这种方法可以由一个正规图像绘制出深度图,例如:
* }4 S1 L6 y7 m+ `2 ^ Y6 g9 U
- B* B0 ?# G P: x$ X- r
) S) t+ G$ i+ E! G0 m: M2 ^1 e% a, @$ j4 ^" ~! @
绘出的深度图]
) w2 I8 B+ Q" L3 E* p, K3 P2 k% g0 ~9 R9 Y) P& N/ }
9 |! d. x7 R* C N2 a& M0 o: L3 s1 _
7帧系列图动画
8 X6 e& U; ~( i2 b; R& H& {& ?9 k4 k8 ]8 Q- n2 w
, q3 I9 ?4 ]6 C& `% T! @! k/ K& B% f
i5 M5 H+ I M (3)Corrections(修正):使用这种方法,可以修改一个已完成的深度图,不仅是由3D Gugle建立的深度图,也可以是由其它独立软件所创建的深度图。
9 z& ] c, g/ N3 C; k7 {( ^/ t
s' w4 w' O9 h& c
$ _/ I7 u( _! [, T+ @1 u
9 {. v; n& X* y- a! n |