1

私の画像がimg=zeros(100,100,3)であるとしましょう。私の出力は、作成された関数を使用して取得したいくつかの楕円です。[ret]=draw_ellipse(x,y,a,b,angle,color,img)を使用して1つの楕円を表示できますimshow(ret)。今のところ、画像にサーバル楕円を表示しようとしています。しかし、私はそれをコーディングする方法がわかりません。「forループ」は機能しますか、それとも保持する必要がありますか?

4

3 に答える 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

私はあなたが何を望んでいるのか少しわかりません。ホールドしたまま複数のグラフをプロットするように、1つの画像に複数の楕円を表示したいですか?

画像に同等のコマンドはありませんが、簡単な解決策は、楕円を1つの画像に追加して、次のように表示することです。

several_ellipse = ellipse1 + ellipse2 + ellipse3;
imshow(several_ellipse)
于 2011-10-14T09:14:22.883 に答える
0

retおそらく、への次の呼び出しへの最終入力として渡したいと思いますdraw_ellipse

于 2011-10-14T09:41:18.113 に答える