画像処理ソフトYIMG/YIMG64
Ver.6.10
画像処理ソフトYIMGは、私が趣味で撮影した天体写真の画像処理を行うために作成したソフト
で、一般写真の画像処理にも使えます。
各種デジカメのRAWファイルを直接読み込み現像することも可能で、RAWの段階でダークノイズ
補正することも可能です。
デジカメに添付のRAW現像ソフトに対する優位性としては、「撮像素子の全画素を利用できる。」
「白飛び、黒潰れしている部分も階調を出せる。」
「ダークノイズ補正が可能。」等があります。
マウスのボタン
キーボード
ファイル
編集
画像合成
バックグランド補正
画像処理
表示
ノイズ除去
バッチ処理
ヘルプ
One image / All
image
画像処理例は、ヘルプ−画像処理例 又はインストールフォルダの「YIMG.htm」をご覧下さい。
なお、本ソフトを使用したために発生するいかなる不利益や損害などに対して、一切責任は
負いませんのでご了承願います。
Ver.2.00から、JPEGフォーマットに対応しました。
Ver.2.10から、独自の現像ルーチンを搭載しました。
Ver.2.70から、ウェーブレット変換に対応しました。(Ver.2.90で処理改善)
Ver.2.80から、拡大時にLanczosに対応しました。
Ver.4.00から、バッチ処理に対応しました。
Ver.5.00から、マルチスレッドに対応しました。(マルチプロセッサで高速化)
Ver.5.70から、RAW/JPEG(Exif)の情報表示、JPEG(Exif)保存に対応しました。
Ver.6.10から、回転した画像の合成、ダークファイルを全ファイルに拡張しました。
1.概要
画像処理ソフトYIMGは、私が趣味で撮影した天体写真の画像処理を行うために作成したソフトで、
一般写真の画像処理にも使えます。
天体写真は、人間の目に見えないような弱い光をフィルムやCCDで読み取ります。その微妙な濃度の
差を強調すれば、天体の模様や形がはっきりします。しかし、通常の画像処理ソフトのように、R,G,B
それぞれ256階調(8bit)では、天体の微かな模様がノイズに埋もれてしまいます。そこでR,G,B共に
65536階調(16bit)を扱える画像処理ソフトが必要になります。しかし、市販の画像処理ソフトや
天体写真用画像処理ソフトは数万円もして、とても手が出ません。
そこで作成したのがYIMGです。自分で作れば、自分好みの画像処理も思いのままです。
特徴
・R,G,B共に65536階調(合計で48bit色)で処理します。
・ノイズは平滑化しながら、エッジを強調できます。
・4つまでの画像を自動でコンポジット(合成)できます。回転した画像にも対応。
ファイルから直接リードする場合や、バッチ処理では16ファイルまで可能。
・4つまでの画像を2点指定によりモザイク合成できます。
・3通りの方法で周辺減光補正が可能です。
・階調補正、拡大/縮小、回転等の基本処理も可能です。
・ウェーブレット変換処理を搭載。(Ver.2.90で処理改善)
・ボケ補正処理を搭載。
・最大256枚の画像を同時にオープンできます。(32bit版はメモリによる制約あり。)
・1回だけやり直しができます。
・ドラッグアンドドロップに対応。
・バッチ処理により、複数のファイルに同じ画像処理を行い、保存することが可能。
・マルチスレッドに対応し、マルチプロセッサで高速化。
・扱える画像フォーマットは、次の通りです。
読み込み
1bit/4bit/8bit(RLE8も対応)/24bit色BMP
8bit/24bit色JPEG
16bit/24bit/48bit色TIFF
GIF
PNG
24bit/48bit色PPM(binary/ASCII)
8bit/16bit階調PGM(binary/ASCII)
Fits(非圧縮,INT)
各種デジカメのRAWファイル
書き込み
24bit色BMP
24bit色PNG
24bit色JPEG
48bit色TIFF(非圧縮、RGB)
48bit色PPM(binary)
・RAW現像は、Dave
Coffin氏のアルゴリズムと、私独自の物を搭載。
・画像ファイルの読み込み時に、前もって登録しておいたダークノイズファイル
(最大4つのファイルを平均化)を引き算してから現像できます。
動作環境
・WindowsXP/Vista/7/10及びこれらと互換性の有るOS
(XP以前のWindowsでは起動できません)
・16bit色以上の表示装置。XGA(1024×768)以上で24bit色以上を推奨。
・Pentium以降のCPU。1GHz以上のクロックで動作するCPUを推奨。
・メモリは256MB以上。512MB以上のDDR-DRAM又はDDR2-DRAMを推奨。
開発言語
Visual Studio 2017 (C++)
作者
田中勇司
ホームページ
http://galaxystar.image.coocan.jp/
2.インストールとアンインストール
インストール
配布ファイルの「INSTALL.EXE」を実行し、メッセージに従って下さい。
バージョンアップ
バージョンアップの場合は、アンインストールは不要です。インストールと同様、
「INSTALL.EXE」を実行し、メッセージに従って下さい。
アンインストール
削除したい場合は、Windowsのコントロールパネルのプログラムの追加と削除から
YIMGを選択し、アンインストールを実行下さい。なお、インストールフォルダーに設定
ファイルを置いていると一緒に削除されますので必要なら別の場所にコピーしてから
アンインストール下さい。
3.コマンド
マウスのボタン
・左ボタン
通常はマウスカーソルの位置を中心にズームイン(拡大)。
バックグランド補正(ポイント指定)時は、基準にするバッグランドを指定。
・右ボタン
マウスカーソルの位置を中心にズームアウト(縮小)。
キーボード
・Aキー
マウスカーソルの位置をポイントA(画像合成−ポイント指定で使用)に設定。
表示ー表示モード設定 のA/B点の選択方法で最大/最小/重心を選ぶと、
マウスカーソルから画素数の範囲内の最大/最小/重心を選択可能。
特に重心は、彗星の核や恒星の中心を選ぶときに有効。
・Bキー
マウスカーソルの位置をポイントB(画像合成−ポイント指定で使用)に設定。
表示ー表示モード設定 のA/B点の選択方法で最大/最小/重心を選ぶと、
マウスカーソルから画素数の範囲内の最大/最小/重心を選択可能。
・Cキー
ポイントA/Bの設定をクリア。
コマンド
・ファイル
・開く:各種フォーマットの画像ファイルを読み込みます。
なお、RAWファイルの現像アルゴリズムは、Dave
Coffin氏のもの(GPLは不使用)と、私独自のものを
選択できます。現像方法は、ファイル−RAW現像設定 で設定下さい。
ダーク補正を行う場合は、前もって ファイル−ダークファイル設定でダークファイルを設定下さい。
・保存(BMP,JPG,TIFF,PPM):各種フォーマットで画像を保存する。フォーマットは、「ファイルの種類」で
選択下さい。
・閉じる:現在表示中の画像を消去する。変更した画像は保存の要否を確認。
・全画像を閉じる:読み込んでいる全ての画像を消去する。変更した画像は保存の要否を確認。
・印刷:現在表示中の画像を印刷する。
・ダークファイル設定:画像ファイルを読み込む時、ここに登録してあるダークノイズファイルを引き算して
から現像します。但し、画像サイズが異なる場合は、引き算されません。
4つまでファイルを設定でき、3つ以上のファイルを登録した場合は、各画素の中で最も値が離れている
データを除いて、残りのデータを平均化した値を使用します。
実データの値より、ダークファイルの値の方が大きい場合の処理方法も設定できます。
注意.RAW、FITS、TIFF(48bit)では効果が大きいですが、それ以外のフォーマットでは性能が発揮
できません。
・RAW現像設定:RAW現像時のモードを設定する。
私独自の現像アルゴリズムを選択した場合は、非常に細かく処理内容を設定できます。更に、Dave
Coffin氏
のアルゴリズムより2〜4倍高速です。
・全設定の初期化:全ての設定を初期値に戻します
・全設定の保存:全ての設定を保存します。
インストールフォルダーに「yimg.ymg」の名前で保存した場合、YIMGの起動時に自動で読み込み可能。
・全設定の読み込み:保存した設定を読み込みます
・終了:YIMGを終了する。
・編集
・アンドゥ:直前に行った画像処理を止め、前の画像に戻す
・リドゥ:アンドゥを取り消し、最後に行った画像処理を行う。
・コピー:現在表示中の画像と同じデータをもう1つ作る
アンドゥが1回しかできませんので、この機能を使って途中経過のデータを残すことが
できます
・領域コピー:現在表示中の画像の領域を指定し、データをもう1つ作る。
切り取られる画像のサイズは、カーソル座標の右にAREA(x,y)で示されます。
・切り出しとサイズ変更:画像の基準を決めてサイズを指定し、その部分を切り出し、
指定されたサイズに変更して、データをもう1つ作る。
・画像合成(コンポジット)
・画像合成−自動:複数の画像を自動で合成します。合成時に、各画像を上下左右に
ずらし、差が最小となる位置で重ねます。
合成の比率や合成方法、比較方法も変更できます。
回転を選んだ場合は、画像と赤枠が表示されるので、赤枠内で、極力離れた2エリア
を指定して下さい。
ノイズ除去をチェックすると、重ね合わせた時に濃度差がノイズレベル以上あると、
ノイズと判断し除去します。
ノイズ除去で移動モードをチェックすると、重ね合わせた時に濃度差大きい部分は
移動したと判断し、合成画像1が選ばれます。
「ずらして合成」に、0以外の値を設定すると、ずらしながら画像を合成します。なお、
各画像のサイズが異なっていたり、回転している場合は、次のポイント指定による
画像合成を行って下さい。
・画像合成−ポイント指定:2〜4枚の画像を重ねるポイントを指定して合成します。
2点の座標を設定した場合は、画像1を基準にし、まず画像2のサイズ変更を行い、
次に画像2を回転し、最後に画像1と合成を行います。
1点だけ座標を設定した場合、サイズ変更と回転は行わず、上下左右にずらして
重ねます。前もって、元の画像のポイントA/Bの位置にマウスカーソルを移動し、
A/Bキーを押すことで、座標を指定することも可能です。
ポイントA/Bを解除したい場合は、Cキーを押してください。
ノイズ除去をチェックすると、重ね合わせた時に濃度差がノイズレベル以上あると、
ノイズと判断し除去します。
ノイズ除去で移動モードをチェックすると、重ね合わせた時に濃度差の大きい部分は
移動したと判断し、合成画像1が選ばれます。
「ずらして合成」に、0以外の値を設定すると、ずらしながら画像を合成します。
・画像合成−複数ファイル:2〜16個のファイルを読み込み、画像合成−自動 と同じ
アルゴリズムで、各画像を上下左右にずらし、差が最小となる位置で重ねます。
回転を選んだ場合は、画像と赤枠が表示されるので、赤枠内で、極力離れた2エリア
を指定して下さい。
・L+RGB:輝度(L)画像とカラー(RGB)画像を合成して新たな画像を作ります。
明るさは輝度画像を元に、RGBの比率はカラー画像を元にします。
・画像合成−LRGB画像合成:3色カラー分解された画像を合成する。
これらの画像は、重ねるポイントを指定して合成します。
2点の座標を設定した場合は、R画像を基準にし、他の画像のサイズ変更を行い、
次に回転し、最後に全ての画像の合成を行います。
合成方法には、次の2通りがあります
(1)RGB法:L画像を選択せずに、R,G,Bの3画像を選択下さい。
右の比率で、R,G,Bの合成の割合を変更できます。
(2)LRGB法:L(輝度)と、R,G,Bの4画像を選択下さい。
R,G,Bの右の比率で、色の合成割合を変更できます。
Lの右の比率で、LとR,G,Bの合成の割合を変更できます。(Lの比率を70%にすると、
L画像の70%とR,G,B画像の30%を加算)
・画像合成−2画像比較:2つの画像の差を求める。
表示中の画像と、選択した画像の差を求める。
基準を128にしておくと、±128階調の差が明暗で確認可能。
・バックグランド補正
・バックグランド補正:特に天体写真等で問題になるのですが、一般にレンズは光軸(中央)
から離れると像が暗くなります。これを周辺減光と呼ぶのですが、これを補正し画像の
周辺を明るくすることができます。
処理方法として、次のような方法から選択できます。
擬似関数−画像中心からの距離をXとし、周辺減光の度合いを
Xnの関数と想定して、
補正します。通常のレンズはX2になります。
天体写真の場合、何も星が映っていないバックについて画像中央付近の
濃度と最周辺の濃度を調べて設定して下さい。
画像データ−周辺減光を調べるため、基準となる一定の明るさの画像を撮影し、
その画像の濃度を元に補正を行います。
周辺減光の補正の場合は「乗算」、光害除去の場合は「引算」を選択下さい。
ポイント指定−天体の写っていない部分をマウスの左ボタンで示し(最大100点)、最後に
右ボタンを押すと最適な擬似関数を計算し、補正。
上記擬似関数と異なり、最も明るい場所(一般に光軸)が画像中央からずれて
いても対応できます。
・バックグランドデータ生成:上記バックグランド補正で画像データを選択できますが、このデータ
を作るのが大変です。そこで、自動的に抽出するのがこの機能です。
背景検出領域は、写っている天体の大きさに合わせて広げて下さい。
平均化領域を大きくすると滑らかなバックグランドデータが生成できますが、大きくすれば良い
とは限りません。
「輝度0を除外する」をチェックすると、0のデータはバックグランドデータ生成に使用されません。
乗算補正や引算補正を選べば、生成したバックグランドデータでそのまま補正ができます。
シフト量は、引算補正時の0レベル(オフセット量)になります。
・画像処理
・シャープ/スムーズ:注目画素とその周辺画素の平均値の値を比較し、差が「平滑化の範囲」
以内であれば平滑化し、それ以上であれば強調を行う。
処理を行う色を、R/G/Bから選択可能。
・エッジ強調:注目画素とその周りの8個の画素の値の最大値(MAX)と最小値(MIN)において、
(MAX-MIN)が「エッジ強調の範囲」より小さい場合は平滑化され、大きい場合は注目画素が
(MIN+「明暗の閾値」×(MAX-MIN))
より大きければMAXに近づけ、小さければMINに近づける。
スパイクノイズを検出した場合は、平滑化を行う。
処理を行う色を、R/G/Bから選択可能。
・ウェーブレット:ウェーブレット変換により、特定のサブバンドを強調する事が可能。
例として、変換無し/弱/中/強の設定を組み込んであります。
・ボケ補正:ボケフィルターの形状を元に元画像を予測し、シャープな画像を得る。
(処理に時間がかかるので注意)
繰り返し回数:大きい程シャープになるが、処理時間が長くなる。
強調:補正処理の後のシャープ処理の強度。
フィルターの広がり:ボケが大きいほど、大きな値にする。
フィルターの鈍り:小さい程、細かい模様やノイズが強調される。基本は、2.0。
・サイズ変更:画像のサイズを変更します
Nearest:最近傍法(単純拡大)
Bilinear:線形補間(滑らか)
Lanczos(拡大)/Bilinear(縮小):拡大はLanczos、縮小はBilinear。一般にこれが最もきれい
Lanczos:周辺の4x4画素を用いて、lanczos2にて補間(拡大に好適)
・回転:画像を回転します。回転角度は0.01度単位で設定できます。
・歪曲収差補正:歪曲収差を補正します。
角を何画素分引っ張る(負の値なら押し込む)かを指定する。
樽型を補正する場合は正の値、糸巻き型を補正する場合は負の値を設定。
・ガンマ補正:画像の濃度や色合いを変更します。
補正曲線は最大3ポイントの曲線近似になります。
全色(RGB)を同じ曲線で変更する方法と、R,G,Bを別々の曲線で補正する方法の
2通りが選べます。
・レベル補正:入出力の上限/下限、明るさ、コントラスト、ガンマを設定することで画像を調整。
全色(RGB)を同じ曲線で変更する方法と、R,G,Bを別々の曲線で補正する方法の
2通りが選べます。
・ダイナミックレンジ補正:画像の各エリアの平均輝度を元に階調を広げます。
画像処理によるHDR(ハイ・ダイナミック・レンジ)表現を行います。
・白黒化:カラー画像を白黒画像に変換します。
・彩度/色相調整:彩度と色相を調整します。
L+RGB合成した場合に色の差が少ない場合に彩度を上げると、色がはっきりしてきます。
・色変更(RGB):R/G/Bで指定した元の色に近い色を、変更後の色に変更する。
前もってAキーで位置指定しておくとその色が元の色に設定されます。
許容量を大きくすると、R/G/Bの値が離れた色も変更する。
なお、元の色から離れると色の変化も少なくなる。
・色変更(HSV):色相/彩度/明度で指定した元の色に色相の近い点を、変更後の色に変更する。
前もってAキーで位置指定しておくとその色が元の色に設定されます。
許容量を大きくすると、より色相が離れた色も変更する。
・奇数/偶数ライン分離:インターレス画像のように、奇数ラインと偶数ラインで画像の位置や色が
異なっていても画像処理できるように、奇数ラインのみの画像と偶数ラインのみの画像の2つの
画像に分ける。
その後、分けた2画像を「画像合成−自動」の平均で合成すれば、ノンインターレス画像が
得られます。
・ノイズ除去
極力、エッジがぼやけないようにしてノイズを低減します。
Total
Variationのアルゴリズムを簡略化し、高速処理できるように工夫しています。
・表示
・拡大表示:画像を拡大表示します。マウスの左ボタンを押しても拡大可能です。
・縮小表示:画像を縮小表示します。マウスの右ボタンを押しても縮小可能です。
・ヒストグラム:R、G、Bそれぞれについて、濃度のヒストグラムを表示します。
横軸は濃度で256段階に分かれており、縦軸は頻度を表します。
断面濃度と排他表示となります。
・断面濃度:カーソル位置又はポイントAの位置のX/Y方向の断面の濃度分布を表示。
カーソル位置の情報を表示したい場合は、Cキーを押して、ポイントAをクリアして下さい。
ヒストグラムと排他表示となります。
・ポイント座標:Aキー、Bキーで設定したポイントA/Bの座標、A-B間の座標の差と距離を
表示します。
・画像選択:複数の画像を同時に開いている場合に画像を切り替えます。
・表示モード設定
色表示のbit数を6〜16bitで設定。
画像情報表示のON/OFF設定。
A/B点の選択方法で最大/最小/重心を選ぶと、マウスカーソルから画素数
の範囲内の最大/最小/重心を選択可能。特に重心は、彗星の核や恒星の中心を
選ぶときに有効。
・バッチ処理
複数のファイルに同じ画像処理を行い保存。
・設定:バッチ処理の処理の内容と、パラメータを設定。
時間計測をチェックすると、終了時に処理時間を表示。
・バッチファイル開く:バッチファイルを開く。
・バッチファイル保存:バッチファイルを保存する。
・バッチ開始:バッチ処理を開始する。ファイルをドラッグアンドドロップして下さい。
・バッチ停止:バッチ処理をやめ、通常モードに戻る。
・ヘルプ
・ヘルプ:YIMGの使い方を表示します。
・画像処理例:天体写真の画像処理例をHTML形式のファイルで説明。
・バージョン:YIMGのバージョンを表示します。
・One image / ALL
image
Undo、Redo、表示倍率、各種画像処理を行う時、One
imageなら現在、表示している
画像のみ処理が実行され、All
imageなら全ての画像に同じ処理が実行される。
4.作者
作者紹介
・名前
銀河☆(田中勇司)
・仕事
LSI設計。
CPU、DRAMコントローラ、各種画像処理、USB、ATA、IrDA等、様々なIPを開発。
関わった製品は、FAX、プリンタ、フロッピーディスク、ハードディスク、BDレコーダ、
4Kテレビ、8Kテレビ、携帯電話、デジタルカメラなど。
・趣味
天体観望と天体(主に星雲・星団)の写真撮影。
プログラム作成。
・メールアドレス
Nifty-Serve : HGE00744
Internet : HGE00744@nifty.ne.jp
・ホームページ
http://galaxystar.image.coocan.jp/
|