Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 将源图像的定义颜色替换为背景图像_Matlab_Image Processing - Fatal编程技术网

Matlab 将源图像的定义颜色替换为背景图像

Matlab 将源图像的定义颜色替换为背景图像,matlab,image-processing,Matlab,Image Processing,我需要编写一个包含4个参数的函数: 更改图像的蓝色背景并将其替换为其他图像功能蓝屏(A、B、c、thresh) 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)]); l

我需要编写一个包含4个参数的函数: 更改图像的蓝色背景并将其替换为其他图像

功能蓝屏(A、B、c、thresh)
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
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=0([大小(A,1),大小(A,2)]); 对数映射=(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); 结束
当你这样称呼它的时候,
bluescreen('peppers.png','tape.png',[200 10],50)

它给你

我不知道你想要什么

嗯。我剪切了两幅图像,并调用了
bluescreen('A.png','B.png',[30 120],80)

我明白了


我觉得这已经足够好了,不是吗

你能提供你已经尝试过的,这样我们就可以继续写函数了。。。然后把你的问题和代码一起提出来……蓝色是什么?
的目的是什么?应该替换背景图像中的哪些像素,哪些像素与原始图像中的
颜色
颜色相同,哪些像素与删除的像素位于同一位置?这个问题表述得很糟糕。我在图片中使用了代码,但它不起作用,所以在找到蓝色像素的RGB颜色[63 93 130]后,我更改了蓝色的值,但它不起作用,所以我更改了阈值,这就是我得到的!它看起来像一幅吵闹的图画。抱歉问了这么多问题……@khulood,现在检查答案。确保你的两幅图像大小相同,并且格式为
png
jpg
格式。我按你的方式调用函数,但它不起作用,你是否更改了代码中的任何内容?@khulood,不,我没有。我想你不能上传图片,所以请发邮件给我你的原始图片。您可以在我的个人资料中找到我的电子邮件。@kamtal,请删除您的第一个答案,因为这是正确的答案。