CLRCON.exe ◎bmp,jpgの色調整、のついでにトリミング、拡大縮小、回転、座標読取・角度等測定 元々は色調整のために作ったソフトで、ついでに必要なので トリミング、拡大縮小、回転と座標読取機能を付けたものです。 ◎内容物 CLRCON.exe:本体 F1A0RI63.DLL,F1A0RN63.DLL,F1A0RW63.DLL:DLLファイル(phtdtmと同じです) ◎起動 とりあえずクリックして起動すると、相変わらずつめこんだ メインウィンドウが現れます。起動時は横482pixel,縦424pixelですが、 座標読取、角度測定、ズーム表示機能だけを使う場合は 縦100pixelに小さく出来ます(このREADMEの最後付近参照)。 ○Load 画像を読み込みます。「Load」を押して選択するか、 メインウィンドウにドラッグ&ドロップしてください。 (たまに寝ぼけてエラーを出しますが、原因不明) 画像名とサイズがメインウィンドウの一番上に表示され、 画像表示ウィンドウが現れます。 起動時は360pixel*360pixelの枠で現れます (それより小さい画像は画像に合わせます)。 適当に広げてください。 jpegの場合は、使用言語の仕様の関係で、 一旦bmpを生成してから表示します。 (拡張子のみを変えたbmp画像を同じディレクトリに生成)。 同じ名前のbitmapがある場合は注意してください。 このソフトでは、起動中常に3つの画像ページを確保して あります。 1)Original Image 2)Adjasted Image 3)Analysis Image この3つのページを切り替えるのが「Switch」ボタンです。 いずれのページを表示中かは、画像表示ウィンドウの タイトルバー部分に表示されます。 Load 直後は「Original」と「Adjasted」は同じ画像です。 このうち、各種操作を行うのは 原則として Adjasted Image だけで、 Original に対しては操作をしません。色操作を行う際の元として使います。 トリミング等の操作後の画像をOriginalとして使用したい場合は、 「Change Original」ボタンを押して Adjasted Image を Original Image にコピーします。 操作後に Adjasted Image を Original Image に戻したい時は 「Back to Original」を押します。 ○「Analysis Image」は「Analysis」ボタンを押すまで真っ白です。 画像を「Original」か「Adjasted」にした状態で 「Analysis」ボタンを押すと、「Analysis」画面上に 表示している画像の輝度分布と色分布を描き、 「Analysis Image」へ切り替えます。 上半分が「Original」、下半分が「Adjasted」のものです。 ◎画像操作関係 ○色調整 (注意:トリミング、拡大縮小、回転により Original と Adjasted のサイズが異なる場合、 色調整が出来なくなります。トリミング、拡大縮小、回転で満足出来る状態にした後に、 「Change Original」でOriginal Image に移してください。) メインウィンドウで一番場所を取っている33本のスライダで、 明るさの変換方法を設定します。 明るさを「0〜255」の範囲で表示するとして、左から順に Original Image の明るさ0,8,16,32,…240,248,255に対応します。 設定後に「DRAW」ボタンを押すと、それぞれの明るさを、 そのスライダで設定した値に変換してAdjasted Image に描画します。 中間の値は1次補間します。 単調増加である必要はありません。M字型でも構いません。 Original Image の明るさを元にして設定通りに変換します。 他のソフトと違うのは、「表示中の画像に対して変換を加える」 のではなく、「オリジナル画像に対して変換を加える」点です。 したがってスライダを変えないまま「DRAW」を何度押しても Adjasted Image は最初の1回しか変わりません。 変換後の絵を見てちょっとだけ変えたい場合は、 スライダをちょっとだけ動かして「DRAW」を押す必要があります。 「All」選択の場合は、普通の意味での「明るさ」(3原色の単純平均) を変換します。色は原則として変えませんが(3原色単純比例)、 3原色のうちいずれかが上限を超える場合は「彩度を落とす」 (白に近づける)形で範囲内に収めます。 色は変えないので、単調減少にした場合にいわゆる「ネガ」にはなりません。 「R」,「G」,「B」いずれかを選択した場合は、 Adjasted画像の該当する原色部分を、Original画像の該当原色データから 変換した値に置き換えます。他の原色は変わりません。 R,G,Bそれぞれを単調減少で変換した場合(つまり3回操作した場合)は いわゆる「ネガ」になります。 スライダ33本をいじるのも面倒なので、代表的な3つのパターンを 最大5つの数値とボタンで設定出来るようにしてあります。 5つの数値は lower limit(2つ):設定の下限値X1をY1に変換 upper limit(2つ):設定の上限値X2をY2に変換 factor:X1からX2までの間の変換曲線の曲がり具合を決める係数 X1からX2の間だけを決定します。他の部分は動きませんが、 区間を分けて個別に設定して、複雑な変換をすることも出来ます。 もちろんX1=0,X2=255(か256)にすれば全区間の設定を行います。 この5つを設定する際に守るべき条件は「0≦X1<X2≦256」です。 これに反する場合は設定動作をしません。 Y1,Y2に関して大小の条件はありませんが、設定するべきX1とX2の間での 変換値が全て0未満か256以上になる場合は設定動作をしません。 1)Linear 1次関数変換です。lower limit と upper limit を結ぶ直線になります。 factor は影響しません。 2)log 単調増加の場合は上に凸な関数です。 単調減少(Y1>Y2)の場合は下に凸になり、いずれにしても 元の画像の暗い部分の変化率が大きくなります。 factor は正の値とします。大きいほど曲がり方が大きくなります (暗い部分の強調の仕方が強くなります)。 factor を 0 にした場合は直線になります。 3)exp 単調増加の場合は下に凸な関数です。暗い部分をさらに暗くします。 単調減少(Y1>Y2)の場合は上に凸になり、いずれにしても 元の画像の明るい部分の変化率が大きくなります。 factor は正の値とします。大きいほど曲がり方が大きくなります (明るい部分の強調の仕方が強くなります)。 factor を 0 にした場合は直線になります。 なお、5つの数値だけ変えても、ボタンを押さなければ変わりません。 「DRAW」ボタンを押した時のスライダ値を読み取って変換を行います。 ○トリミング 「Trimming Box」チェックを入れると、その右にある4つの数値で 決まる枠がAdjasted Image に現れます。 最初は黒枠ですが、Line Colorボタンを押すと枠の色が 黒→青→赤→緑→白→黒 の順に変わります。見やすい色にしてください。 X,Y,Width,Heightの数値を設定して、切り抜く範囲を決めます (数値変更で枠線が変わります)。 範囲を決定して「Trimming」ボタンを押します。 Adjasted Image を切り抜き、それをAdjasted Image とします。 なお、Adjasted Image をトリミングした後は、 Original Image とサイズが異なるので、色操作が出来なくなります。 トリミングした後に「Change Original」を押してOriginal Image に移して 色操作を行うか、色操作を行ってからトリミングするか、どちらかになります。 色操作はやや時間がかかるので、トリミングで小さくした後に 色操作をした方がよいでしょう。 トリミング操作後は「Back to Original」で Original Image に戻す事は出来ますが、 トリミング前に行った色操作などは再現しないので、最初からやり直しです。 ○拡大縮小 WidthとHeightを入力して「Resizing」を押すと、Adjasted Image を そのサイズに拡大縮小して、それを Adjasted Image とします。 縦または横を縮小の場合、たとえば縦横とも4分の1にする場合は、 縦横4pixelの16pixelが1pixelになるわけですが、通常はこの中の1点(多分左上)を その1pixelの色として採用します。 「Average Color」にチェックを入れた上で「Resize」を押すと、 16pixelの平均値を1pixelの色として採用します。どちらがいいかは目的次第です。 ただし「Average Color」選択時は遅くなります。 縦横比を保存して拡大縮小したい場合は、WidthかHeightの片方を空白にして 「True Ratio」ボタンを押すと、その時点のAdjasted Image の縦横比と同じになるように 計算した上で空白の部分に数値が入ります。 トリミングの場合と同様、サイズが変わった後は、そのままでは色操作が出来なくなります。 ○回転 「Rotation」ボタンの上の枠に角度を度単位(時計回りを正)として入れて、 「Rotation」ボタンを押すと、Adjasted Image をその角度だけ回転した画像を Adjasted Image とします。 この際、画像情報を失わないように回転させる都合上、画像サイズが大きくなります。 具体的には、回転角が±45度以内の場合、 回転後の横幅=回転前の横幅+回転前の縦幅×tan(回転角の絶対値) 回転後の縦幅=回転前の縦幅+回転前の横幅×tan(回転角の絶対値) になります(±45度以上の場合、90度回転と合成する事で±45度以内の回転に置き換え)。 45度(+90度の倍数)回転の場合が最大(縦横とも元の画像の縦+横)になります。 必要に応じて縮小してください。 サイズが大きくなる事で、単純に1点ずつ埋めていくと隙間が生じますが、 その隙間には周囲4点の平均の色を入れます。 サイズが変わるので、トリミングの場合と同様、そのままでは色操作が出来なくなります。 ◎表示・計測関係 ○ズーム表示 まず拡大倍率か縮小倍率を入力します。0 か 1 を入れた場合は以降の操作が出来ません。 その後に「in」(拡大表示)か「out」(縮小表示)の前にチェックを入れます。 片方にチェックを入れるともう一方にチェックが入らなくなります。 また、チェックを入れた側の倍率枠も入力不可になります。 やり直す場合はチェックを外してください。 a)Zoom in の場合 チェックを入れた時点では、まだズームをしません。 画像ウィンドウのズームをしたいところをクリックした時点で、 その点を中心にズームを行います。 チェックを外せば1倍表示に戻り、倍率を入れる枠が入力可能になります。 b)Zoom out の場合 チェックを入れた時点で縮小表示します。 逆にチェックを外した時、その時点では元に戻りません。 画像ウィンドウをクリックした時点で、その点を中心として1倍に戻し、 倍率を入れる枠が入力可能になります。 ○座標読取 画像ウィンドウの上にマウスポインタがくれば、 右端の上から2段目に座標が表示されますが、 これはトリミングの数値の目安を決めるためのオマケ表示です。 「Copy the Coordinate」の前にチェックを入れて、 それ以降に画像ウィンドウをクリックすると、 座標値がクリップボードにコピーされます。 クリックした時点では表面上何も起きませんが、 notepad などに貼り付ける事が出来ます。 コピーの形式は「4桁,4桁」の半角9文字です。(例:「1234, 56」) ズームした状態でも使用出来ます。 ただし、「Zoom」のチェックを入れた後に画像ウィンドウを クリックした場合は、ズームのみを行います。 また「Measure」のチェックを入れた場合は、 計測操作が完了するまで計測のみを行います。 ○Measure(2点間の計測) 2点間の座標差、距離、X軸(横方向)との角度を計測します。 まず「Measure」の前にチェックを入れます。 次にクリックをして、基準となる1点目を選択します (メインウィンドウに「from(1234, 56)」と表示が現れる)。 その次のクリックで2点目を選択すると、メインウィンドウに 「( +50, -177)[183.92,-74.2258degree]」 と表示されます。1番目の括弧内が座標差、2番目の括弧が極座標表示です。 ただし、角度は時計回りを正とします。「右方向をX軸と下方向をY軸」 とする座標系に合わせてあります。 この情報はそのままクリップボードにもコピーされるので、 Notepadなどに貼り付ける事も出来ます。 なお、「Zoom」の前にチェックを入れた場合は ズーム関連の動作のみ行い、計測関連はそれ以降のクリックで行います。) ◇クリック時の動作の優先順位 0)右端2段目の座標表示はクリックしなくても常時表示します。 1)「Zoom in」をチェックした直後/「Zoom out」のチェックを外した直後は、 「Zoom in/Zoom outを元に戻す」を優先して行い、他は行いません。 「Measure」にチェックが入っていても(入れても)、 その後のクリックで測定を行います。 2)「Measure」にチェックが入っている状態では、ズームは優先して行いますが、 他は行いません。クリップボードには計測開始点や計測結果が入ります。 3)「Copy the Coordinate」にチェックが入っていて、ズーム、計測のチェックで 動作制限がなされていない場合は、クリップボードに座標数値が入ります。 4)ズーム、計測による制限がなければ、「Measure」の横の空白に クリックした点の色情報(RGB値)が表示されます。 計測結果をじっくり見たい場合は、不用意に画像をクリックしないでください。 (Copy Coordinate にチェックが入ってなければクリップボードに残ってますが。) ◎その他 ○Adjastment 画像操作を行わず座標読取を行う時のために、 メインウィンドウを小さくする事が出来ます。 「Adjastment」のチェックを外せば、高さを約4分の1に出来ます。 チェックを入れれば元に戻ります。 ○Save Adjasted Image と Analysis Image を bmp形式で保存します。 保存したい画像を表示している状態で「Save」ボタンを押してください。 Original Image 表示時に「Save」を押しても何もしません。 ==================================== 使用言語:富士通 F-BASIC V6.3L10 ==================================== 2008/02/16:とりあえず公開 2008/02/17-07h:DLL不要版にするのを忘れてたのでやり直し, 色操作とAnalysisをちょっと高速化,レイアウトちょっと変更 2008/02/17-17h:バグを見つけたので、ついでにfactor3を追加して log,expボタンでの上限下限を設定可能にする,あともちょっと高速化 2008/02/19-07h:色調整分を隠してメインウィンドウを小さくする機能追加, スライダ設定の代わりに数値を直接代入可 2008/02/19-20h:レイアウト変更、計測機能追加 2008/02/21:拡大縮小と回転機能を追加、計測機能の結果をクリップボードにコピー, それらと関連してレイアウト変更 2008/02/23:回転をちょっと高速化 2008/02/28:バグ取り,DLLの添付し忘れに気付いて慌てて添付 2008/03/04:フォントを原則としてArial 12pに変更,ファイル名表示枠は MS UI Gothic があれば MS UI Gothic 14p,無ければArial 14pに設定 2008/03/09:Zoom out機能,色情報表示 2008/03/10:色変換簡易設定の設定形式変更,レイアウト変更, 「Average Color」での縮小をちょっと高速化 2008/04/25:レイアウト微調整 2008/07/28:バグ取り(回転後の縦横長表示) ==================================== Jul-28th,2008 ftcenter@mth.biglobe.ne.jp http://www2s.biglobe.ne.jp/~ftcenter