SH-03Cで表示させるMPOファイルをOpenGLで作成
作成手順の紹介。まずは元画像を作成、プログラムはこちらの雑誌で紹介されていたプログラムを多少変更しただけでほぼそのまま使用。
今月号(2011年 01月号)のInterfaceは立体視特集 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20101128/1290963594
これをキャプチャし、Pythonのこんなプログラムでタイトル部分を削除&右目用と左目用の2つの画像に分割。
※このプログラムではPILを使用しています。このプログラムを使用する場合は事前にインストールしておく必要があります。
#! /usr/bin/env python # coding: utf-8 # coding=utf-8 # -*- coding: utf-8 -*- # vim: fileencoding=utf-8 import sys import os from PIL import Image try: from PIL import Image except ImportError: import Image if (len(sys.argv) == 1): print '分割するファイルを指定して下さい。' quit() orgFile = sys.argv[1] print '入力ファイル '+orgFile orgFileOnly, ext = os.path.splitext(orgFile) lImgFile = orgFileOnly+'_L'+ext print '出力ファイル(L) '+lImgFile rImgFile = orgFileOnly+'_R'+ext print '出力ファイル(R) '+rImgFile orgImg = Image.open(orgFile) w, h = orgImg.size print 'origine image size '+str(w)+ 'x' +str(h) caption_size = 22 # ウィンドウのキャプション部分を削除 new_w = w new_h = h-caption_size part = orgImg.crop((0, caption_size, w, h)) # (左、上、右、下)の矩形で切り取り newImg = Image.new('RGB',(new_w, new_h),(255,255,255)) # モード、サイズ、背景色 newImg.paste(part, (0, 0, new_w, new_h)) # 貼り付け l_w = new_w / 2 r_w = new_w - l_w if (l_w != r_w): print '2で割れないサイズの画像です。' quit() part = newImg.crop((0, 0, l_w, new_h)) # (左、上、右、下)の矩形で切り取り lImg = Image.new('RGB',(l_w, new_h),(255,255,255)) # モード、サイズ、背景色 lImg.paste(part, (0, 0, l_w, new_h)) # 貼り付け lImg.save(lImgFile) part = newImg.crop((l_w, 0, new_w, new_h)) # (左、上、右、下)の矩形で切り取り rImg = Image.new('RGB',(r_w, new_h),(255,255,255)) # モード、サイズ、背景色 rImg.paste(part, (0, 0, r_w, new_h)) # 貼り付け rImg.save(rImgFile)
これを元にMPOファイルを作成するのですが残念ながらMacでMPOファイルを作成出来る無料のツールが見つからなかったのでWindows向けのアプリ「ステレオフォトメーカー」を使用して作成しました。ここもMacで完結出来るようになると良いなぁ。
StereoPhoto Maker
http://stereo.jpn.org/jpn/stphmkr/index.html
そして、出来たMPOファイルがこちら。SH-03CでDLして観れます。
そこそこ立体感が出てました。しかし、まだまだ改善の余地が有りそうなのでもっと立体感が出る構図や設定なども研究したい所です。
ちなみにSH-03Cで観ると横幅が短いかと思います。SH-03Cの画面サイズは横向きの時に800x480なので本来であれば分割前の画像を1600x480で表示させないといけないのですが自分のMacBookでは表示出来ないサイズなので今回は1000x480で作成しました。
最終的には左目用、右目用を別々に表示し、なおかつ画像ファイルに出力する所までプログラムを作りたいと思っています。