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