#author("2024-12-20T17:52:53+09:00","default:kouzouken","kouzouken") #author("2024-12-20T17:53:00+09:00","default:kouzouken","kouzouken") #contents aaa *wikiでの色指定等 [#ie8c08d3] -&color(#000000,#00FFFF){シアン00FFFF}; -&color(#000000,#FF00FF){マゼンタFF00FF}; -&color(#000000,#FFFF00){イエローFFFF00}; *色補正プログラム [#tefdc5f9] -[[henkan.f90:https://www.str.ce.akita-u.ac.jp/~gotou/programoj/keikan/henkan.f90]] プログラムの冒頭の以下の部分に、補正前の画像(hoseimae.ppm)に写っている スケールから読み取ったシアン、マゼンタ、イエローのRGB値を書き込む rc=10. !写真のスケールのシアンのR値 gc=240. !写真のスケールのシアンのG値 bc=230. !写真のスケールのシアンのB値 rm=240 !写真のスケールのマゼンタのR値 gm=20. !写真のスケールのマゼンタのG値 bm=230. !写真のスケールのマゼンタのB値 ry=240. !写真のスケールのイエローのR値 gy=230. !写真のスケールのイエローのG値 by=30. !写真のスケールのイエローのB値 コンパイルして $./henkan を実行すると、henkanm というファイルに$3\times 3$の変換マトリクスが書き込まれる。 -[[rgb.f90:https://www.str.ce.akita-u.ac.jp/~gotou/programoj/keikan/rgb.f90]] gimp ファイル名 画像サイズを「画像」から「画像の拡大縮小」を選択 今は800 gimpで名前をつけてエクスポートでppm形式で出力 データフォーマット ASCII $./rgb < hoseimae.ppm を実行すると、補正後画像(hoseigo.ppm)が出力される。 gimp hoseigo.ppm ファイルから名前をつけてエクスポートでjpgに -画像ファイルに写っているカラースケールのシアン、マゼンタ、イエローのRGB値をそれぞれ以下の記号で表す。 --シアン:$R_{c},G_{c},B_{c}$ --マゼンタ:$R_{m},G_{m},B_{m}$ --イエロー:$R_{y},G_{y},B_{y}$ -補正後のシアン、マゼンタ、イエローのRGB値の基準値をそれぞれ以下の記号で表す。 --シアン:$R_{c}^{基},G_{c}^{基},B_{c}^{基}$ --マゼンタ:$R_{m}^{基},G_{m}^{基},B_{m}^{基}$ --イエロー:$R_{y}^{基},G_{y}^{基},B_{y}^{基}$ -具体的には、例えば以下のように与える。 --シアン:$R_{c}^{基}=0,G_{c}^{基}=255,B_{c}^{基}=255$ --マゼンタ:$R_{m}^{基}=255,G_{m}^{基}=0,B_{m}^{基}=255$ --イエロー:$R_{y}^{基}=255,G_{y}^{基}=255,B_{y}^{基}=0$ -色補正の変換マトリクス$h_{ij}$は、以下のように定義される。 \[\left(\begin{array}{c} R_{c}^{基}\\ G_{c}^{基}\\ B_{c}^{基} \end{array} \right)= \left(\begin{array}{ccc} h_{11} & h_{12} & h_{13}\\ h_{21} & h_{22} & h_{23}\\ h_{31} & h_{32} & h_{33}\\ \end{array} \right) \left( \begin{array}{c} R_{c}\\ G_{c}\\ B_{c} \end{array} \right) \] \[\left(\begin{array}{c} R_{m}^{基}\\ G_{m}^{基}\\ B_{m}^{基} \end{array} \right)= \left(\begin{array}{ccc} h_{11} & h_{12} & h_{13}\\ h_{21} & h_{22} & h_{23}\\ h_{31} & h_{32} & h_{33}\\ \end{array} \right) \left( \begin{array}{c} R_{m}\\ G_{m}\\ B_{m} \end{array} \right) \] \[\left(\begin{array}{c} R_{y}^{基}\\ G_{y}^{基}\\ B_{y}^{基} \end{array} \right)= \left(\begin{array}{ccc} h_{11} & h_{12} & h_{13}\\ h_{21} & h_{22} & h_{23}\\ h_{31} & h_{32} & h_{33}\\ \end{array} \right) \left( \begin{array}{c} R_{y}\\ G_{y}\\ B_{y} \end{array} \right) \] -まとめると \[\left(\begin{array}{c} R_{c}^{基}\\ G_{c}^{基}\\ B_{c}^{基}\\ R_{m}^{基}\\ G_{m}^{基}\\ B_{m}^{基}\\ R_{y}^{基}\\ G_{y}^{基}\\ B_{y}^{基} \end{array} \right)= \left(\begin{array}{ccccccccc} h_{11} & h_{12} & h_{13} & 0 & 0 & 0 & 0 & 0 & 0\\ h_{21} & h_{22} & h_{23} & 0 & 0 & 0 & 0 & 0 & 0\\ h_{31} & h_{32} & h_{33} & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & h_{11} & h_{12} & h_{13} & 0 & 0 & 0\\ 0 & 0 & 0 & h_{21} & h_{22} & h_{23} & 0 & 0 & 0\\ 0 & 0 & 0 & h_{31} & h_{32} & h_{33} & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & h_{11} & h_{12} & h_{13}\\ 0 & 0 & 0 & 0 & 0 & 0 & h_{21} & h_{22} & h_{23}\\ 0 & 0 & 0 & 0 & 0 & 0 & h_{31} & h_{32} & h_{33}\\ \end{array} \right) \left( \begin{array}{c} R_{c}\\ G_{c}\\ B_{c}\\ R_{m}\\ G_{m}\\ B_{m}\\ R_{y}\\ G_{y}\\ B_{y} \end{array} \right) \] -$h_{ij}$を未知数として解けるように並べ替える。 \[\left(\begin{array}{c} R_{c}^{基}\\ G_{c}^{基}\\ B_{c}^{基}\\ R_{m}^{基}\\ G_{m}^{基}\\ B_{m}^{基}\\ R_{y}^{基}\\ G_{y}^{基}\\ B_{y}^{基} \end{array} \right)= \left(\begin{array}{ccccccccc} R_{c} & 0 & 0 & G_{c} & 0 & 0 & B_{c} & 0 & 0\\ 0 & R_{c} & 0 & 0 & G_{c} & 0 & 0 & B_{c} & 0\\ 0 & 0 & R_{c} & 0 & 0 & G_{c} & 0 & 0 & B_{c}\\ R_{m} & 0 & 0 & G_{m} & 0 & 0 & B_{m} & 0 & 0\\ 0 & R_{m} & 0 & 0 & G_{m} & 0 & 0 & B_{m} & 0\\ 0 & 0 & R_{m} & 0 & 0 & G_{m} & 0 & 0 & B_{m}\\ R_{y} & 0 & 0 & G_{y} & 0 & 0 & B_{y} & 0 & 0\\ 0 & R_{y} & 0 & 0 & G_{y} & 0 & 0 & B_{y} & 0\\ 0 & 0 & R_{y} & 0 & 0 & G_{y} & 0 & 0 & B_{y}\\ \end{array} \right) \left( \begin{array}{c} h_{11}\\ h_{21}\\ h_{31}\\ h_{11}\\ h_{22}\\ h_{32}\\ h_{13}\\ h_{23}\\ h_{33} \end{array} \right) \] $h_{11}, h_{12}, h_{13}, h_{21}, h_{22}, h_{23}, h_{31}, h_{32}, h_{33}$の順に並べなかったのは、 対角成分が0にならないように。もっとも、上記の並べ方でもカラースケールのRGB値が基準値そのもので、 どれかが0になっていると、対角成分に0のところができて解けなくなるので、 カラースケールのRGB値が仮に0となっているところは、1とかにする。 *耐候性鋼橋梁関係 [#g2d72922] -[[耐候性鋼橋梁の維持管理に関する研究 - 愛媛大学機関リポジトリ:https://ehime-u.repo.nii.ac.jp/record/110/files/sciengA397fulltext.pdf]] -[[AIによる耐候性鋼材の さびの特徴分析:https://www.nilim.go.jp/lab/bcg/siryou/2024report/ar2024hp022.pdf]]