我正在尝试使用Matlab创建一个如下所示的径向渐变图像。该图像的尺寸必须为640 * 640 * 3,因为我必须将其与该尺寸的另一幅图像混合。我已经编写了以下代码,但是打印出来的图像只是黑色背景上的灰色圆圈,边缘没有褪色。
p = zeros(640,640,3);
for i=1:640
for j=1:640
d = sqrt((i-320)^2+(j-320)^2);
if d < 640/3
p(i,j,:) = .5;
elseif d > 1280/3
p(i,j,:) = 0;
else
p(i,j,:) = (1 + cos(3*pi)*(d-640/3))/4;
end
end
end
imshow(p);
由于我是Matlab的新手,任何帮助将不胜感激。
改变:
p(i,j,:) = (1 + cos(3*pi)*(d-640/3))/4;
到
p(i,j,:) = .5-( (.5-0)*(d-640/3)/(640/3)) ;
这是线性插值的示例,其中内边缘的灰度值线性下降到背景。
您可以尝试其他方程式以具有不同的梯度衰减!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句