LogoMark.png

Finder のバックアップ(No.4)


Finder

SocialDesign x Photography

カメラを持つということは、世界を見る新たな視覚を手に入れるということです。ファインダー越しに見える日常の風景には、美しい色、面白いカタチ、暮らしの知恵、そして社会を蝕む「凡庸な悪」も潜んでいます。

写真が「誰にでも使える技術」となった今日、写真の存在は我々の社会にとってどんな意味を持つのか、そして写真に何ができるのか。ここでは、プログラミングの分野でおなじみの「オブジェクト指向」という考え方を用いて、写真というオブジェクトのプロパティとメソッドを整理し、写真の存在意義と可能性を様々な角度から考察するためのキーワードを探ってみたいと思います。

道具の使い方を学ぶことが私たち自身を変える・・
という点に人間と道具の関係の本質がある。

アラン・ケイ, 1994, 人間のためのコンピュータ, Addison Wesley Publisher JP

Finder/References



オブジェクト指向とは

オブジェクト指向(object-oriented)とは、1960年代にアラン・ケイによって考案された言葉で、モノ(オブジェクト) が持つプロパティ(データ) とメソッド(振る舞い) の組み合わせで物事を捉え、その仕組みを最適に設計するための概念的枠組みです。今日の代表的なプログラミング言語は、いずれもこのパラダイムで設計されています。

例えば、自動車というオブジェクトでは

オブジェクト指向では、自動車というオブジェクトが持つこれらの属性と振る舞いをまとめて「自動車クラス」として定義し、クラスを元に、実際に存在する個々の自動車(例えば、XXさんの所有するプリウス)を「インスタンス」として生成します。

オブジェクト指向のメリット

写真をオブジェクト指向で捉える

人間社会における写真の存在意義と可能性に関わる研究は、様々な視点・キーワードから着手することができます。例えば「写真の縦横比」ひとつとっても、その歴史的変遷、世代や文化の違いによる好みの差、被写体との相関、提示スペースとの相関・・など、インターネット上の膨大な画像を統計的に処理することで、縦横比に関することだけでも、様々な知見が得られるでしょう。また例えば「写真を飾る」という行為についても、どんな写真を、いつ、どこに、どのように飾るのか・・、アンケート調査を行うことで人々の属性と写真の飾り方に関する知見が得られそうです。

つまり、ひとくちに写真を研究すると言っても、その切り口は、プロパティとメソッドの数だけある・・ということになります。ここでは、まずそれがどれだけあるのかを、可能な限り列挙することからはじめたいと思います。

写真は、コンピュータの世界では「イメージオブジェクト」です。よって、写真をオブジェクト指向的に捉えたければ、イメージクラスに定義されたプロパティとメソッドをリストアップすることで、大半が網羅されることになります。極端に言えば、Photoshopのような画像処理ソフトに存在するメニュー項目は、すべて画像の属性と操作に関するものなので、その数だけプロパティとメソッドが存在する・・ということになりますが、まずは、今日の代表的プログラミング言語であるPython の画像ライブラリPillow の Image クラスを参考に、基本的なものを列挙し、それに我々が日常的に使う言葉としての「写真のXXXX」や「写真をXXXXする」といった表現から、「写真」のプロパティとメソッドを追加列挙してみたいと思います(随時追記中)。

写真のプロパティ

プロパティは「写真のXXXX」 と表現される場合の XXXX の部分です。

PropertyPython Pillow写真のXXXX
formatフォーマット(JPEG、PNGなど)
modeモード(RGB、RGBA、Lなど)カラー /白黒
sizeサイズ(幅、高さ)大きさ・縦横比
width
height高さ高さ
paletteカラーパレット(GIF画像など)
info画像のExif情報などのメタデータ
撮影機材
撮影日時
撮影場所
画角
絞り
シャッタースピード
アングル
撮影者
被写体
記録媒体
Film/Digital


写真のメソッド

メソッドは「写真を XXXX する」 と表現される場合の XXXX の部分です。

PropertyPython Pillow写真をXXXXする
open(path)ファイルを開く
close( )ファイルを閉じる
save(path)ファイルを保存する保管する
load( )メモリに読み込む
show( )画像を表示する見る・見せる
histogram( )ヒストグラムを取得する
convert(mode)モードを変換する色を変換する
resize(size)サイズを変更する引き伸ばす
rotate(angle)指定角度回転させる移動・回転・拡縮
transpose(method)反転、回転させる
crop(box)一部を切り取るトリミング
paste(image, box)画像を別の画像に貼る合成する
filter(filter)フィルタを適用する加工する
getpixel( (x, y) )指定座標のピクセル値を取得
putpixel( (x, y ), color)指定座標のピクセル値を設定修正する
撮る
複製する
プリントする
飾る
持ち歩く
破る・踏む
捨てる
アップ・シェアする
売る・買う
集める
語る・評論する


・・と、実にたくさんのプロパティとメソッドが存在します。おそらくそれは、写真が「情報体」であるからだと言えるでしょう。「絵画」や「音楽」、また「エクリチュール(書かれたテキスト)」も同様に多くのプロパティとメソッドが抽出できます。一方で例えば「机」も同じオブジェクトですが、「机」には、これほど多くのプロパティ・メソッドは存在しません(語彙は存在しません)。




カメラをオブジェクト指向で捉える

写真が成立するにはカメラが必要で、このカメラにも同様にオブジェクトとしてのプロパティとメソッドが存在します。OpenGLライブラリにおける Cameraクラスを参考に列挙してみましょう。

カメラのプロパティ

プロパティは「カメラのXXXX」 と表現される場合の XXXX の部分です。

PropertyOpenGLカメラのXXXX
position座標カメラポジション
horizontalAngle水平角水平角
verticalAngle仰角仰角
fieldOfView視野角画角
nearPlanenear clipping plane最短撮影距離
farPlanefarthest clipping plane
viewportAspectRatioビューポートの縦横比縦横比
機種
撮影モード・設定
記録媒体
Film/Digital


カメラのメソッド

メソッドは「カメラを XXXX する」 と表現される場合の XXXX の部分です。

PropertyOpenGLカメラをXXXXする
setPosition・・設置する・視点と視線を決める
setFieldOfView・・画角を選択する
setViewportAspectRatio・・縦横比を選択する
matrixcamera transformation移動・回転・拡縮する
projection透視投影・並行投影
持ち歩く
買う・シェアする
売る・捨てる
集める
語る・評論する




APPENDIX

関連ページ

ちょっとAIにも聞いてみました

意外にもっともらしい回答でびっくり・・ 2025年1月31日 Gemini

人々はどんな写真を好んで撮っているのか、男女別、また世代別の
違いがあれば教えて下さい。 


男女別の傾向

世代別の傾向

その他

補足

これらの傾向はあくまで一般的なものであり、個人の趣味や嗜好によって異なります。スマートフォンの普及により、誰もが手軽に写真を撮れるようになったため、写真の多様性はますます広がっています。

まとめ

人々が好んで撮る写真は、男女別、世代別、個人の趣味やライフスタイルによって様々です。しかし、SNSの普及やスマートフォンの高性能化により、誰もが手軽に美しい写真を撮れるようになったことで、写真の楽しみ方も多様化しています。