あけましておめでとうございますー

| | | | | | |



本日の予定

  • 0:28現在は東急ジルベスター
  • blogの表紙画像レンダリング
    23:45 レンダリングは終わったけど加工が済んでません。。。
    2009/01/02 1:10 ヘッダ画像の入れ替え完了
  • できればサイドバーのおにゃのこも入れ替え
    ここまで行き着かず
  • 映画見てきました。
  • このblogの記事予定。。。の説明

日経スペシャル「ガイアの夜明け」 1月3日放送 ガイアの危機~資源争奪の世紀を生き抜く

塩田さんが出る模様~

ヘッダの画像について

パノラマ画像にチャレンジしてみました

データは某無料素材。DAZ Studioでレンダリングしてます。
ヘッダに使うのに思い切り横長にしたかったので、火星探査機やスリットカメラで撮ったようなパノラマ写真をCGで真似してみました。

スリスリスリット

カメラを横方向に振るアニメーションを作成。
次のようなプログラムで、一枚の画像に結合、保存しました。

各フレームの画像の中央に縦線(スキャンライン)を一本引いて、その部分の画像データを取り出し。それを、短冊を並べるようにして、横長の画像を作っていきます。

手持ちの実写動画ではうまくいきませんでした。各コマ間のオプティカルフローを計算して、どれだけパンしたかを計算してやれば出来るかな?宿題、ということで。。。

#!/usr/bin/python
#-*- coding: UTF-8 -*-

import opencv.cv as cv
import opencv.highgui as highgui
#今日は intel swig版で。

def fcap(input_name="test.avi",output_name="test.jpg"):
    capture = highgui.cvCreateFileCapture( input_name )
    w=800 #入力aviのフレーム数の調べ方が判らないので決め打ちで
    oimg=cv.cvCreateImage( cv.cvSize(w,480), 8, 3 );
    if( capture ):
        frame=highgui.cvQueryFrame(capture)
        fsize=cv.cvGetSize(frame)
        w,h=fsize.width,fsize.height
        print w,h
        x=0
        mx=int(w2/2);
        while frame :
            cv.cvFlip(frame)
            oimg[ 0:h , x  ]=frame[0:h,mx ]
            x+=1
            frame=highgui.cvQueryFrame(capture)
    highgui.cvNamedWindow("test",1)
    highgui.cvShowImage("test",oimg)
    highgui.cvSaveImage(output_name,oimg)
    cv.cvReleaseCapture(capture)
    return oimg

if __name__ == '__main__':
    img=fcap("test.avi","test.jpg")
    print raw_input("input any key ")
Tags: ,

Related posts

Tags: ,

Comments are closed.