non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

Blenderで初めてのアドオンを作るまで ~その2~

おはようございます。次男は寝る際は、その後はおむつにして寝かしてます。一度は成功したものの、その後、朝起きると、おむつにしっかりおしっこを出してます。長男の際も、しばらくはかかったので、気長に構えてます。kjunichiです。

背景

第3回:3月26日(日)Blender勉強会(UE4よちよち勉強会_スピンオフ)@HDE(渋谷) : ATNDというBlenderの勉強会に参加。

当日作ったコードをプラグイン化して、レンダリング画像をPOSTしてTensorflowで画像分類するサンプルを Webサービス化したURLに投げ、結果を表示するという一連の処理を実現しようとしている。

Blenderに入っているPythonで画像をPOSTする

前回の記事レンダリングした画像をJPEG形式で取得することが出来るようになった

また、「Tensorflowのclassify_image.pyをWebアプリ化した」の記事で画像をPOSTすれば、Tensorflow(classify_image.py)の処理結果を返すWebサービスの実装も完了している。

という事で、今回は、Blenderからレンダリングした画像をこのWebサービスにPOSTしてみる。

mport bpy
import urllib.request
import os

imagepath=os.path.abspath("/tmp/kjunichi.jpg")
bpy.data.scenes["Scene"].render.filepath = imagepath
bpy.data.scenes["Scene"].render.image_settings.file_format='JPEG'
bpy.ops.render.render( write_still=True )

with open(imagepath,"rb") as f:
    image=f.read()

target_url = "http://localhost:8000"
request = urllib.request.Request(target_url, data=image, method="POST")

with urllib.request.urlopen(request) as response:
        response_body = response.read() #.decode("utf-8")
        
print(response_body)

動作画面

f:id:kjw_junichi:20170428062704p:plain

今後の課題

関連記事