| Top Page | プログラミング |


| CanopOn 2 トップ | マニュアル | ダウンロード | 補足情報 |

CanopOn 2 の使い方

Updated on 2009-02-27 rev on 2015-01-07


画像データの読み込み

解析する画像ファイルは 円周魚眼レンズ(円形の画像が得られるレンズ)で撮影した画像を読み込んで 解析します. BMP 形式と JPG 形式のファイルを読めます. 画像のサイズは CanopOn 2 に読み込んでから調節できますので,事前の細工は不要です.

魚眼レンズといっても,何通りかの射影方式があります.CanopOn2 は, Ver2.02 までは 等距離射影方式(円の中心からの距離が天頂角に比例)にのみ対応していましたが, Ver2.03 から,等立体角射影(画像上の面積が立体角に比例)および正射影 (半球上のイメージを平面に垂直に下ろす影)にも対応しました. お使いのレンズの方式を確認のうえ,正しい設定で解析してください.

また,画角は180度を想定していましたが,これより何度か画角が異なるレンズも あるようです.そのようなレンズで撮影した画像の解析のための補助機能を追加しました.

図:起動直後の状態

CanopOn 2 を起動すると,左側は操作パネルがある画面が表示されます. 多くのボタンは,上にカーソルを持っていくと簡単な機能説明が表示されます.

いくつかのボタンの機能は,画面上部のメニューからも選択できます. メニューに並んでいる機能は,Altキーを押しながら,各項目の下線が付いている文字を 押せばただちに呼び出せます.画面の白黒・カラー切替え表示など,頻繁に選択する 機能はこの方式で呼ぶのが便利でしょう.

終了するには画面上部のメニュー中の [Exit] を選択します.

操作パネルの左上,[Load Image] と書かれたボタンをクリックする(ないしはメニューから [LoadImage]を選択する)と, 読み込むファイルを選択するダイアログボックスが表示されます. BMP ファイルと JPG ファイルのファイル名が表示されます. 解析したい画像ファイルを選んでください.

図:練習用ファイル photo1.jpg を読み込んだ状態

読み込んだ画像が大きすぎたり小さすぎたりする場合は, 操作パネル右上のスクロールバーで縮小率を変えてください.

地平線・方位の設定

画像ファイルを読み込むと,空色の円が重ねて描かれています.これは地平線を表します. 地平線の場所とサイズは自由に調節できます. また,円の右斜め上の矢印は,北の方向を示しています. これも自由に調節できます. 写真中に北を示す目印を写し込んであるなら,これにあわせてください. 調節方法は以下の通りです.

円の中心位置,サイズ,北の方向は,画像の左上にも小さく数値で表示されています.

画像地平線は,しばしば写真上では暗くて見極めが難しくなります. その対策としては,一枚明るい写真を撮影しておいて,これを読み込んで地平線合せを したあとに解析用画像を読み込みます. CanopOn 2 に1つの画像ファイルを読み込んだあと,次のファイルを読み込むと, その前の画像のときの地平線設定がそのまま引き継がれまし, 同じカメラで撮影した場合,画像イメージ上での地平線の位置とサイズは一定ですので, あとは地平線を操作する必要はありません.必要に応じて方位の設定だけ行います.

図:明るい画像を読み込んで地平線をあわせる

なお,操作パネルの左,上から二番目のボタン [Resume setting] をクリックすると, 現在表示中の画像を以前に解析したときの諸設定の情報を読み込めます (その画像ファイルをはじめて解析している場合には何も起こりません). 諸設定の情報を読み込めたかどうかはメッセージボックスで表示されます.

以前の設定は,画像ファイルが置かれているフォルダ内に cnp.ini という テキストファイルを生成して記録しています. ある画像に関する情報がこのファイルに保存されるタイミングは, 別の画像ファイルを読み込む時,あるいはCanopOn2 を終了する時です.

マウスのカーソルが円形格子内にある状態で右クリックすると,カーソルが ある場所の天頂角 (Zenith angle) と方位角 (Azimuth) が表示されます. 方位角は,真南が0度で,東回りが正の方向,東回りが正の方向です. したがって,真東の方位角は 90度,真西は -90度です. また,天頂角は,天頂方向(真上)で0度,地平線で90度です.

全天の分割と,レンズの射影方式・画角の設定

CanopOn2の内部では,全天を細かい区画に分割して,それぞれの空隙率(空が見える 立体角の比率)を求めています. 空がどのように分割されているのかを見るには, 操作パネル左上の上から3番めのボタン, [Show Grid] をクリックします. クモの巣状の格子が表示され,分割のしかたが確認できます. 全天が,360 の等立体角(それぞれ2π/360 ステラジアン)の区画に分割されています.

レンズの射影方式と画角を設定するボタン等は操作パネルの下のほう,LensType と 書かれたところにまとめてあります. 初期設定では,等距離射影で画角が180度のレンズで撮影した画像を想定しています. これと異なるレンズで撮影した画像を解析する場合は,設定を変更してください. 射影方式の変更時にはメッセージボックスが表示され,分割グリッドも表示されます. これはうっかり気付かないまま変更してしまうのを避けるためです.

ViewAngle という文字の下にある画角の入力ボックスに数値を入れ,すぐしたの [Apply]ボタンをクリックすると,画角の設定が変更できます. このときにも分割グリッドが表示されます.画角が180度ではなく,たとえば185度の 場合,天頂角(天頂からの角度)が 92.5 度に相当する破線が地平線とは別に 描画されます. これを画像の外周に合わせれば,中心の画角180度相当の部分だけが解析対象となります. 画角が180度を下まわる場合は,グリッドの外周よりも内側に破線が表示されることになります.

図:分割グリッドを表示.画角が 185度,射影方式が等立体角の場合.

カラーイメージから白黒イメージへの変換

操作パネル左上の上から4番めのボタン, [BW/Color] をクリックすると, 読み込んだままのカラー表示と白黒二値化したイメージの表示とを切り替えられます. クリックするたびにカラーと白黒が切り替わります. メニューの[BW/Color]を選んでも同様です. [Alt]キーを押しながら,[W} を押せば選択できます.左手がキーボード上でこの 操作を行い,右手はマウスを持って白黒の判断基準を動かすと効率がよいでしょう (基準の設定方法は以下で説明).

図:白黒イメージ

カラー画像から白黒画像に変換するとき,どのぐらい明るい点を白(すわわち空が見えている) とするかの判断基準を, Exposure と書かれた囲いのなかでいろいろ設定できます.

両端に Bright と Dark と書かれたスクロールバーのハンドル(四角いつまみ)を 左(Bright)に移動させると全体に明るく,右(Dark) に移動させると全体に暗くなります. カラー画像と交互に表示させて,人間の目で見て空と判断されるところが白,障害物と 判断されるところが黒になるように調整します. この基準は,撮影条件しだいですので,写真一枚ごとに確認・調整する必要があります.

人間は,高度のパターン認識をしながらどこが空でどこが障害物かを見分けることができます. この機能をプログラム上で実現するのはとても難しいので,人間まかせにしています.

3つ並んだスクロールバーで,赤(R),緑(G),青(B)それぞれの要素を 明るさの判定時にどれだけ考慮するかを設定できます.たとえば緑の明るい葉が 空だと判断されてしまいがちで,これが黒になるようにすると空まで黒になってしまう というような場合,緑の光を考慮しないように,G のスクロールバーのハンドルを左, Low へ設定すると,ぐあいよく白黒の判断ができることがあります. いろいろ試行錯誤してみてください.

設定を変更したあと,[Apply] ボタンをクリックすると,新しい設定で 白黒判定を行った画像を描きなおします. 白黒表示とカラー表示を行き来して,適切に判定されているかをチェックします.

地平線の位置,サイズ,方位と同様に,白黒判定基準もファイルに保存されます. 次回,同じ画像ファイルを読み込んだあとで [Resume setting] ボタンをクリックすると, 前回の状態に設定されます.

光透過率のチェック

白黒イメージを表示中に,操作パネルの中央やや下の [Eval] ボタンをクリックすると, 平均的な空隙率(空が見える比率)と,全天からの散乱光の透過率とを計算して 表示します. 散乱光の透過率(Diffuse site factor)は, UOC(Uniform Overcast Sky,全天が均一に明るい)を仮定した場合, およびSOC (Standart Overcast Sky, 天頂は地平線近くの3倍明るい)を仮定した場合の それぞれについて計算します.

図:平均空隙率と散乱光の透過率 (Diffuse site factor) を表示

この計算結果は,[Eval] ボタンの横の [Copy] ボタンをクリックすると クリップボードにコピーされます.他にテキストファイルだの表計算ソフトだのを 開いておいて,コピーした計算結果を貼り付けていけば, いちいち手でメモする手間がはぶけます. 画像ファイル名,空隙率,Diffuse site factor (SOC), Diffuse site factor (UOC) が,この順でタブで区切られた文字列がコピーされます. 空隙率,Site factor の単位はいずれも % です.以下はその例です.

photo1.jpg	9.4	14.6	13.5

また,全天を等立体角に分割した 360 の 各小区画(それぞれの立体角は 2π/360 ステラジアン)ごとの空隙率を ファイルに書き出すことができます. 白黒イメージ表示中に [Save] ボタンをクリックすると,作製するファイル名を 入力するダイアログボックスが表示されます. 表示中の画像ファイルの名前に,.cnp という拡張子をつけたファイル名が あらかじめ表示されていますが,好きな名前に変更してかまいません.

作製されるファイルは,以下のような形式のテキストファイルです. 各データの間はタブで区切られています. // の後ろの説明は,実際のファイルには出力されません.

360     DIR            // ← 360 は区画数,次のDIRは気にしないでください.
4.28	45.00	10.59  // ← 区画の中心の天頂角,方位角,区画内の空隙率(%)
4.28	135.00	19.33
4.28	225.00	25.32
4.28	315.00	33.59
12.30	18.00	10.05
12.30	54.00	10.31

.....................

85.84	349.62	0.00
85.84	356.54	0.00

作製したテキストファイルは,表計算ソフトに読み込んだり, 自分で書いたプログラムで処理するなどして利用してください. 解析の方法は使う人次第です.

太陽の軌跡と透過のチェック

操作パネルの下のほう,Sun と書かれた囲いのなかで,任意の緯度・日の太陽の軌跡を 描画する設定ができます. Lat, Mon, Day それぞれの入力欄に,緯度(北緯はプラス,南緯はマイナス), 月(1-12),日を入力します. それから [Draw] ボタンをクリックすると,太陽の軌跡が描かれます.

描画と同時に,日長と,太陽の透過時間(障害物に遮られずに太陽の直達光が 射し込む時間)が,それぞれ分単位で表示されます. 透過の有無の判断は,白黒イメージ上での白黒判定がそのまま使われます. (カラー画像表示中であっても).

図:太陽の軌跡の描画

月日の設定を変えてさらに太陽の軌跡を描かせても,それ以前に描いた線は消去されません. 新しい画像ファイルを読み込んでもそのまま残ります. [Clear] ボタンをクリックすると,それまでに描いた軌跡はすべて消去されます.

[Draw] ボタンの2つ右隣の [Copy] ボタンをクリックすると, 最後に描画した軌跡に対応するデータがクリップボードにコピーされます. データの内容は,画像ファイル名,緯度,月,日,日長,光透過時間です. 日長と光透過時間の単位は分です.

photo1.jpg	35.5	9	20	718	40

1分間隔で太陽の位置と透過の有無を書き込んだテキストファイルを作成できます. [Draw] ボタンの3つ右隣の [Save] ボタンをクリックすると, 作製するファイル名を入力するダイアログボックスが表示されます. 表示中の画像ファイルの名前に,.sun という拡張子をつけたファイル名が あらかじめ表示されていますが,好きな名前に変更してかまいません. ファイルには以下のような情報が書込まれます (// の後ろの説明は,実際のファイルには出力されません).

35.5	9	20            //  緯度,月,日
6	1	89.86	89.77	0  //  時 分 方位角 天頂角 透過の有無(1/0)
6	2	89.65	89.63	0
6	3	89.45	89.48	0
........

11	57	35.61	1.29	0
11	58	35.60	0.86	1
11	59	35.60	0.43	1
........
17	56	89.24	-89.34	0
17	57	89.45	-89.48	0
17	58	89.65	-89.63	0
718	110                     //  日長 日照時間

時刻は南中時を 12時として計算しています. 標準時とのずれがあることに注意してください. なお,複数の軌跡が描かれているときは,それらすべてのデータが順次記録されます.

空隙率のファイルと同様,作製したテキストファイルは,表計算ソフトに読み込んだり, 自分で書いたプログラムで処理するなどして利用してください.


| Top Page | プログラミング |