假设我的图像是img=zeros(100,100,3)
,我的输出是几个椭圆,我使用创建的函数获得[ret]=draw_ellipse(x,y,a,b,angle,color,img)
,我可以使用显示一个椭圆imshow(ret)
。目前,我正在尝试在图像中显示薮椭圆。但我不知道如何编码。'for循环'会起作用还是我需要持有它们?
问问题
171 次
3 回答
2
如果这与您在上一个问题中所做的有关,那么您需要做的是将一次迭代的结果作为输入传递给下一次。
因此,假设[ret]=draw_ellipse(x,y,a,b,angle,color,img)
您提到的函数将图像作为输入img
并返回带有椭圆的相同图像,您可以这样做:
%# ellipses parameters
%#x = {..}; y = {..};
%#a = {..}; b = {..};
%#angle = {..}; color = {..};
img = zeros(200,100,'uint8'); %# image to start with
for i=1:10
img = draw_ellipse(x{i},y{i}, a{i},b{i}, angle{i}, color{i}, img);
end
imshow(img)
于 2011-10-14T09:31:37.207 回答
0
我有点不确定你想要什么。您想在一张图像中显示多个椭圆,例如使用hold on绘制多个图形?
没有图像的等效命令,但一个简单的解决方案是将椭圆添加到一个图像中并显示一个:
several_ellipse = ellipse1 + ellipse2 + ellipse3;
imshow(several_ellipse)
于 2011-10-14T09:14:22.883 回答
0
大概你想ret
作为最终输入传递给下一次调用draw_ellipse
.
于 2011-10-14T09:41:18.113 回答