画像の白を透明にして別の画像と重ね合わせる方法

65 次查看(过去 30 天)
mushi77
mushi77 2022-3-3
评论: mushi77 2022-3-4
添付しました画像でカラーのみの画像1と境界のみの画像2の画像を重ね合わせてて画像3のようなものを作成したいです。
画像2の白情報が残っているため、白を透明にしたうえで画像2を上位とした重ね合わせをしたいのですが、どうしたらできますでしょうか。
Image Processing Toolbox以外のツールボックスの使用があっても構いません。
よろしくおねがいします。
+=

采纳的回答

Atsushi Ueno
Atsushi Ueno 2022-3-3
>画像2の白を透明にしたうえで画像2を上位とした重ね合わせをしたいのですが、どうしたらできますでしょうか。
画像2を二値化(反転)してANDを取りました。今回は窓を残し窓枠を黒(0)にするためマスクしただけで目的の画像データになりました。もし窓枠の画像と合わせるのであれば、窓のマスク画像と窓枠のマスク画像を加算する事で目的の画像データになります。詳細は類似の質問→2値化画像(バイナリイメージ)のオブジェクトの輪郭を切り取る。 - (mathworks.com)
rgb = imread('1_testRGB.png');
msk = imread('2_testG.png') > 128;
masked_rgb = rgb .* uint8(msk); % 元画像とマスクのANDを取る
imshow(masked_rgb)
  2 个评论
Hernia Baby
Hernia Baby 2022-3-3
编辑:Hernia Baby 2022-3-3
masked_rgb = rgb .* uint8(msk);
ここ天才的ですね
境界の部分だけ 0 なので必然的に黒になるんですね
mushi77
mushi77 2022-3-4
2値化して積とすると色部分は1の積でそのまま、境界部は0との積で0となるということですが。
こんな簡単にできるとは。。。ありがとうございました。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Modify Image Colors 的更多信息

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!