我想要做的是将一个图像放在第二个图像上,但只放置那些不是完全黑色的部分。我怎么能在Matlab中做到这一点?
我现在拥有的是:
所以我基本上想要的是同样的东西,没有白纸周围的黑色边框。这是我的代码:
resizedBg(startrow:startrow+size(rscrop,1)-1, startcol:startcol+size(rscrop,2)-1, :) = rscrop;
提前致谢!
答案 0 :(得分:0)
基本上,你可以表现得好像有面具一样。
让你的第一张图像A和第二张图片B.你想要用B填充B到底是完全黑色的。它直接转换为Matlab:
C = zeros(size(B,1), size(B,2),3);
C(startRow:startRow+size(A,1)-1, startCol:startCol+size(A,2)-1,:) = A;
M = repmat(sum(C,3)==0,1,1,3);
C(M) = B(M);
我将蒙版M在3个维度上展开,可以直接用作蒙版。