2010年3月13日土曜日

サントリーホール オープンハウス はてなブックマークに追加

サントリーホールオープンハウスが3月末にあります。去年に子供と一緒に行ったのですが、一日音楽を聴いたり遊んだりととても楽しかった印象があるので今年もいってこようと思います。

去年取った写真の整理と備忘録をかねてエントリーしておきます。

DSCN1210
ホール内の会場
前の方に座っていると、大学のオーケストラを相手に指揮をすることができるかも?

サントリーホールオープンハウス
女の子の指揮
指揮棒がおもちゃの杖でした。


DSCN1211
男の子の指揮
小さいですが、ヴァイオリンを習っているそうで様になっています。

サントリーホールオープンハウス
趣味 オケ
趣味が指揮マネの方が登場(指揮マネとはオーケストラのCDを聴きながら指揮者の真似をすることらしいです、初めて聴きました)ということで、ノリノリで大盛り上がり!

サントリーホールオープンハウス
パイプオルガン
パイプオルガンの演奏もありました。

DSCN1227
会場の内外で子供向けのイベント
会場内では、スタンプラリーやクイズ、外でもいろいろな催し物があり一日中楽しめました。

開催概要
日時 2010年3月28日(日) 10:00〜16:00
料金 入場無料(出入自由)
主催 サントリーホール
後援 港区
お問合せ サントリーホールチケットセンター 03-3584-9999

■特別公開!オーケストラのステージ・セッティング〜公開リハーサル
■オーケストラ・コンサート (指揮:大河内雅彦、演奏:慶應義塾ワグネル・ソサィエティー・オーケストラ)
■オルガン・コンサート (演奏:浅井美紀)
■ステージにあがろう!
■みんなでクイズ「ドレミファ・ポン♪」
■オペラ名曲コンサート(出演:清水知子、山口佳子、今尾滋、古藤田みゆき、他)
■ホール de おんがくテーリング
■チャリティ朝市
■ホール・ガイドツアー
■音楽カフェ
■写真展


http://www.suntory.co.jp/suntoryhall/sponsor/100328.html

2010年3月7日日曜日

flickr apiで iPhoneの撮影角度を補正するPythonスクリプト はてなブックマークに追加

夏にiPhone3GSを買ってGeoTag付きデジカメ2台体制で日々GeoTagに個人情報だだ漏れさせた画像をflickrにアップしておりますが、Nikon COOLPIXP6000と違いiPhoneには撮影角度情報があってその情報を利用すれば、手動で写真の回転する作業から解放されるので早速Pythonで角度を回転するするスクリプトを書いてみました。


pythonスクリプトの説明
1.画像の回転は認証が必要なので確認する。
2.3日以前に投稿した写真を400枚取得する
3.画像のIDからexifデータを取得する
4.exifから”Orientation”を探す。
5.文字列から撮影角度を取得し、画像を回転させる。

ちなみにExifの”Orientation”のパターンは8種類あるようですが、iPhone3GSでは4つしか出てこないようなので対応していません。”Orientation”パターンを探している方や、iPhone3GS以外も対応したい場合は、Exif Orientationタグによる補正方法 - オレBlogさんの情報が参考になるとおもいます。

%orientation = (
1 => 'Horizontal (normal)',
2 => 'Mirror horizontal',
3 => 'Rotate 180',
4 => 'Mirror vertical',
5 => 'Mirror horizontal and rotate 270 CW',
6 => 'Rotate 90 CW',
7 => 'Mirror horizontal and rotate 90 CW',
8 => 'Rotate 270 CW',
);

Exif Orientationタグによる補正方法 - オレBlog



# coding: UTF-8
import flickrapi
import re
import time

api_key = 'xxxxxxx'
secret_key = 'yyyyyy'
my_id = 'zzzz@N00'

flickr = flickrapi.FlickrAPI(api_key,secret_key)
#auth
(token, frob) = flickr.get_token_part_one(perms='write')
if not token: raw_input("Press ENTER after you authorized this program")
flickr.get_token_part_two((token, frob))

mt = int(time.time()-24*60*60*3)
search = flickr.photos_search(user_id=my_id,min_upload_date=mt,per_page=400,page=1)

for photo in search.find("photos").findall('photo'):
photoid = photo.attrib['id']
getexif = flickr.photos_getExif(photo_id = photoid )
e= getexif.find("photo").findall('exif')
if( e):
try:
rot = ""
print photoid + " " + photo.attrib['title']
for exif in e:
label = exif.attrib["label"]
if( label == 'Orientation' ):
rot = exif.find("raw").text
if rot == "Rotate 90 CW":
flickr.photos_transform_rotate(photo_id = photoid,degrees = 90)
elif rot == "Rotate 270 CW":
flickr.photos_transform_rotate(photo_id = photoid,degrees = 270 )
elif rot == "Rotate 180":
flickr.photos_transform_rotate(photo_id = photoid,degrees = 180)
elif rot == 'Horizontal (normal)':
pass

except AttributeError:
print "error"
continue
except FlickrError:
print "error"
continue



※エラーがあっても無視するようにしてます。
※Macの場合はiPhotoだと取り込んだ時点で自動で画像の回転し、そのうえにFlickrへの投稿ボタンまで用意されているので、自作スクリプトで対応する必要はないのですが、中途半端に自作スクリプトに自分専用の便利機能をつけてしまったのでiPhoto移行できずに日々車輪の再発明を続けております。