1

私は Octave でいくつかのルーチンを開発しており、画像を表示する必要があり、その上に曲線をプロットする必要があります。

ただし、画像とプロットの原点/スケールを一致させる方法がわかりません。たとえば、1024x1024 ピクセルの画像を指定すると、次のことができます。

a=imread('image.png');
x=linspace(1,1024,100);
y=x;
imshow(a);
hold on;
plot(x,y);

ただし、線は画像に合わせてスケーリングされておらず、コーナーから始まっていません。(画像とプロットの原点が異なるコーナーにある必要があることは知っています)。カーソル位置からグラフィック座標を調べると、画像が明らかに原点にないので、これが問題の原因だと思います。

4

3 に答える 3

1

この場合image()の代わりに使用imshow()

a = imread ('image.png');
x = linspace (1, 1024, 100);
y = x;
image (a);
hold on
plot (x, y);
axis square
于 2013-02-21T09:58:32.300 に答える
0

この方法で画像上に関数をプロットできます:

  1. 次のような stuff.jpg という名前の画像を作成します。任意のサイズが可能ですが、テストできるように約 6x6 ピクセルにしました。

gnu オクターブの画像上に関数をプロットする

次のようにして、関数を他の関数の上にプロットできます。

octave> x = 0:1:5;
octave> plot(x, (3/2).^x, "linewidth", 2, "color", "blue");
octave> hold on
octave> plot(x, 2.^x, "linewidth", 2, "color", "red");
octave> plot(x, factorial(x), "linewidth", 2, "color", "green");
octave> plot(x, x.^3, "linewidth", 2, "color", "black");
octave> 

私にとっては、これを示しています:

octave, gnu octave 複数の行をプロットする

ここにウォークスルーがあることがわかりました:

http://ericleschinski.com/c/algorithm_complexity_big_o_notation/

私の年齢を考慮して、私のパワーレベルをプロットします。すでに9万を超えています。

于 2015-04-19T04:29:55.857 に答える