画像の読み取りと輝度値の分散について
8 ビュー (過去 30 日間)
古いコメントを表示
添付の画像をMATLABで読み取り、線加工された部分の輝度値の分散を計算したいのですが、どのようにすればいいのでしょうか?
2 件のコメント
Kei Otsuka
2018 年 9 月 17 日
"線加工された部分"がどこかを明示することはできますか?
画像を見ると十字に線が入っているように見えますが、、どこまでの範囲を
線と定義するかによって、分散の値が大きく変わりそうです。
採用された回答
Etsuo Maeda
2018 年 9 月 20 日
画像の雰囲気からすると、Siチップにレーザー系のツールで線加工をしたものでしょうか。 画像の汚れからすると、光学顕微鏡を使って観察をしたように見えます。 私の予想が当たっている場合は、対物レンズ専用の用紙と洗浄液で掃除してあげてください。 もし、走査型電子顕微鏡で観察しているならば、サンプルロード前にエアを吹くなどして表面をきれいにしておきましょう。
画像の読み取りにはimread関数を使うことが出来ます。
A = imread('sample.bmp');
生成されるAはRGBの情報を含んでいるようです。 観察に使ったカメラの設定を変えればグレースケールの情報が出力されるはずですので、ご検討ください。
次に輝度値についてです。 一般に輝度はある方向からみた単位面積あたりの明るさとして定義されます。 カメラの設定、スケールが全く不明の状態ですから、厳密性を無視して極々簡単に単位面積当たりの画像の明るさを輝度とするならば、読み込んだAがそのまま輝度の分布となります。
B = rgb2gray(A);
としてグレースケール変換してからプロットをすると、下記のようになります。
h = surf(B);
h.EdgeColor = 'none';
線加工された部分の定義が難しいようでしたら、このプロットからご自身で条件を付けてみましょう。 なお、分散についてはvar関数などが準備されています。
HTH
4 件のコメント
Etsuo Maeda
2018 年 9 月 20 日
お返事ありがとうございます。基礎コースを終了されれば、私のコードもすぐに理解できると思います。また疑問点がありましたら、MATLAB Answersでご質問ください。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Read, Write, and Modify Image についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!