複数の画像をかさねる
29 views (last 30 days)
Show older comments
平均化を目的に、複数のJPG画像を重ねて表示したいです。
どうしたらできますか?
0 Comments
Answers (1)
Shunichi Kusano
on 22 Jul 2019
足して画像の数で割れば平均値になるのですが、データの型に注意が必要です。通常の画像ですとuint8型になっているとおもうのですが、それをそのまま足し合わせると255までしか値がないので、誤った計算結果となります。
もう一点注意としては、画像サイズです。平均をとりたい画像のサイズは揃っていますか?揃っていれば問題ないですが、バラバラですと平均的なサイズに拡大縮小(imresize関数が使えます)するか、切り抜き(imcropが使えます)かパディング(padarrayが使えます)するかになります。
一例として手順は次の通りです。
1.画像サイズを揃える
2.画像をsingleもしくはdouble型に変換
3.平均値をとる
4.uint8型に戻す
% 一例
I1 = imread('peppers.png');
I2 = imread('coloredChips.png');
I1 = imresize(I1, [390 515]); % だいたい中間くらいのサイズにリサイズ
I2 = imresize(I2, [390 515]); % だいたい中間くらいのサイズにリサイズ
Imean = uint8((single(I1)+single(I2))/2);
imshow(Imean)
0 Comments
See Also
Categories
Find more on イメージ算術 in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!