3D写真にPOSERの3D出力をマージ

3DカメラVS70-3Dを買ってみた。これをつかってリアル画像とPOSER画像を合成して3D画像を作ってみる。

ただしVS70Dからの出力のままでは、まだPCでの処理に適していないのでimagemagickを使って仕事することにした。imagemagicはcygwin上にインストールした。

1.もとの3D画像は1256X942で2枚がくっついている。またSide by Side方式のために横方向が50%に縮小されているようである。
– 横方向を200%伸張: convert -geometry 200%x100% input.jpg output.jpg
こうすると、2560×960の画面になります
– ファイルを2枚に分割: convert -crop 1280×960 input.jpg output.jpg
こうすると、1256X942のjpg画像が2枚できます

2. Poser側の処理
・Render sizeを1256×942で作成
・例としてdefaultのandyでサンプルを作る
・背景を全部透明にさせるため、(1)背景は設定しない、(2)GROUNDはVISIBLEをOffにする。
・Main cameraについて位置をDollyZ=500cm, DollyY=100cm, Zのオフセットを視差として
6.5cm与え、2枚レンダリングし、PNGで保存する。
・このようなアドバイスもあった<http://zack.dtiblog.com/blog-entry-53.html>
“PoserではカメラのY軸を1度ほどずらして撮影するほうが立体感がでるように感じました。
また、焦点距離を標準の55mmから35mmくらいに変更すると遠近感が増します。”
ただ自分がやった限りでは、Y軸はずらさないほうが良いようだ。
3.Calibration
・コーンを置く。直径20cm,高さ1mの三角錐を作成。幅2m, 奥行きを、
0m(青)、3m(黄)、5m(緑)、10m(赤)、20m(紫)の10個作成する
これで背景画を読み込み、丁度良い程度にfocalを調整する。自分でやったところ43mm程度が無難に見えた。

4.被写界深度の調整
・レンダリングオプションで被写界深度(Depth of Field)をONにしてレンダリングすると
特に奥行きがうまくぼけて、リアル感が増します。

5.絵の合成
・背景にpng画像を重ねて出力する:convert bkgnd.jpg figure.png -composite out.jpg (or png)
・Photoshopなどで合成する。ただ構図をしっかり定めるためにははじめからそれぞれの背景画像を読み込んでレンダリングしたほうが良い結果を得られそうだ。

5.2枚できた絵を結合: convert +append right.jpg left.jpg out.jpg

6.最後にSide by Side方式で観れるよう、横を50%に縮小: convert -geometry 50%x100% input.jpg output.jpg

まずまずの結果となった。これは2枚の絵を5.のプロセスで結合したもの

POSERと3D画像の合成結果
 

7. 参考までにimagemagicを使ったサンプルシェル

#!/bin/bash

for num in 001 002

do
convert -geometry 200%x100% PH3D0${num}.JPG PH3D0${num}_out.jpg
convert PH3D0${num}_out.jpg lr.png -composite PH3D0${num}_out.jpg
convert -crop 1280×960 PH3D0${num}_out.jpg PH3D0${num}_cut.jpg
convert +append PH3D0${num}_cut-1.jpg PH3D0${num}_cut-0.jpg PH3D0${num}_rev.jpg
done