【发布时间】:2016-10-19 13:53:28
【问题描述】:
用matlab,我不知道patch如何在这张图片中垂直制作渐变色。在这里,我只想要一个简单的颜色渐变。我已经使用 bwboundaries 来捕捉边缘函数并填充纯色,就像这样:
for i=1:4
input=imread(['heartspline2_4_',num2str(i)],'bmp');
figure,imshow(input);
BW=im2bw(input,graythresh(input));
[B,L]=bwboundaries(BW,'noholes');
for k=1:length(B)
boundary=B{k};
plot(boundary(:,2),boundary(:,1),'k','LineWidth',2);
fvc=[1 1 0;1 0 0;0 0 1];
hold on;
axis off;
if (k==1)
patch(boundary(:,2),boundary(:,1),'w');
else
p=patch(boundary(:,2),boundary(:,1),'y');
end
end
saveas(gca,['y_','heartspline2_4_',num2str(i)],'bmp')
close(gcf)
end
【问题讨论】:
-
我想这是一个后续问题,请链接到另一个问题。你希望填充是渐变的吗?朝哪个方向?颜色的渐变,还是强度的渐变?
-
感谢您的提问。我已经修改了我的表达方式。
-
另外,考虑接受另一个答案为有效。
-
好的,没错!
-
看看
doc patch,更高级的例子展示了如何在补丁上设置颜色渐变。