我需要编写一个带4个参数的函数: 更改图像的蓝色背景并将其替换为其他图像
答案 0 :(得分:1)
function bluescreen(A,B,c,thresh)
A = imread(A);
B = imread(B);
Ar = A(:,:,1);
Ag = A(:,:,2);
Ab = A(:,:,3);
Br = B(:,:,1);
Bg = B(:,:,2);
Bb = B(:,:,3);
logmap = zeros([size(A,1),size(A,2)]);
logmap = (Ar > (c(1)-thresh)).*(Ar < (c(1)+thresh)).*...
(Ag > (c(2)-thresh)).*(Ag < (c(2)+thresh)).*...
(Ab > (c(3)-thresh)).*(Ab < (c(3)+thresh));
Ar(logmap == 1) = Br(logmap == 1);
Ag(logmap == 1) = Bg(logmap == 1);
Ab(logmap == 1) = Bb(logmap == 1);
A = cat(3 ,Ar,Ag,Ab);
imshow(A);
end
当你打电话的时候,
bluescreen('peppers.png','tape.png',[200 10 10],50);
它给你,
我不确定你想要什么!
确定。我剪切了两张图片并调用了bluescreen('A.png','B.png',[30 30 120],80);
我明白了,
我认为这很好,不是吗?!