-PR-
aroha_2010

MATLABで画像軸のスケール変更をしたいのですが、 スケールだけのへんこうはできますか? axis ([xmin xmax ymin ymax])だと画像サイズを超えた際に余白が白くなってしまいます。 画像サイズはそのままで縮尺サイズだけ変更したいです。 どなたかお願いします
  • 回答数2
  • 気になる数0
  • Aみんなの回答(全2件)

    質問者が選んだベストアンサー

    • 2010-07-23 11:06:37
    • 回答No.2
    再びKulesです。
    >500*300のimageデータを
    axis(0 800 0 300)のサイズに白い部分をなくして画像を表示する

    あまりimageで軸を考慮することはないと思いますが、これをしたいということは
    他のimageデータやlineなんかを同時に1つの図に描いたりするんですかね?
    500*300の行列Fを用いて
    image(F)とすると、自動的にy軸がひっくり返り、縦軸、横軸はそれぞれ0~300と0~500に
    調整されますが、これはimageという関数内で勝手にしていることなので、
    これが嫌なら最初からimage(X,Y,F)とすれば、X軸、Y軸を任意に設定することができます。
    X,Yはベクトルである必要があり、2要素あれば十分なようです。
    (例えばXなら1つ目の要素が左端のピクセルの真ん中、2つ目の要素が右端のピクセルの真ん中を表す。
    imageが反転するような設定も可能だけどすると混乱するかも)
    は列数(今回だと500)Yは行数(今回だと300)に
    一致している必要があります(確か)
    従って、最初からimage([0,800],[0,300],F)とすれば横軸は0~800にすることができます。
    ここまで書いてて気づきましたが、500*300のFをimageで描くと縦軸が0~500、横軸が0~300に
    なるんですね。
    こういうことでよいでしょうか?答えになっているか不安ですが…
    参考になれば幸いです。
    お礼コメント
    連絡が遅くなってしまい申し訳ないです。
    無事に解決することができました。
    何度もありがとうございました
    投稿日時 - 2010-08-18 12:12:27
    • ありがとう数0
    -PR-
    -PR-

    その他の回答 (全1件)

    • 2010-07-21 10:17:10
    • 回答No.1
    ちょっといまいち状況がつかめないのですが、 imageとかpcolorとかsurfとかで画像データが貼り付けられていて、 axis ([xmin xmax ymin ymax])をすると周りに余白が出来るということでしょうか? (例えば500×300のimageデータを貼り付けていて、axis ([0 800 0 300])ってすると 右端に白い部分が出来てしまうとか) もし上のようなことで画像の縮尺だけ ...続きを読む
    ちょっといまいち状況がつかめないのですが、
    imageとかpcolorとかsurfとかで画像データが貼り付けられていて、
    axis ([xmin xmax ymin ymax])をすると周りに余白が出来るということでしょうか?
    (例えば500×300のimageデータを貼り付けていて、axis ([0 800 0 300])ってすると
    右端に白い部分が出来てしまうとか)
    もし上のようなことで画像の縮尺だけを変えたいということでしたら、
    set(gca,'Position',[左端 下端 幅 高さ])で変更できます。
    ただし、デフォルトの設定ではgcaのPositionの単位はNormalizedなので、
    現在のfigureのサイズで正規化されています。
    (例えば左端を0.5とすると、axesの左端はfigureの真ん中に来ます。)
    それを考慮した値を与えてやればよいです。
    あるいは、set(gcf,'Position',[左端 下端 幅 高さ])として、figureの
    サイズ自体をいじるのも手だと思います(上にも書いた様にPositionの単位はNormalizedなので
    figureのサイズをいじるとそれに対応してaxesのサイズも変わります)
    この場合、figureのPositionの単位はデフォルトだとpixelsなので、
    ピクセル単位で指定してやる必要があります。

    長文失礼しました。的外れな回答ならその旨補足欄にお願いします。
    参考になれば幸いです。
    補足コメント
    回答ありがとうございます。
    質問内容が分かりにくくてすいません。
     
    >(例えば500×300のimageデータを貼り付けていて、axis ([0 800 0 300])ってすると
    右端に白い部分が出来てしまうとか)

    ↑この状態です。
    500*300のimageデータを
    axis(0 800 0 300)のサイズに白い部分をなくして画像を表示することは可能でしょうか?
     
    よろしくお願いします。
    投稿日時 - 2010-07-22 12:06:30
    • ありがとう数0
    • 回答数2
    • 気になる数0
    • ありがとう数1
    • ありがとう
    • なるほど、役に立ったなど
      感じた思いを「ありがとう」で
      伝えてください
    • 質問する
    • 知りたいこと、悩んでいることを
      投稿してみましょう
    このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
    このQ&Aにはまだコメントがありません。
    あなたの思ったこと、知っていることをここにコメントしてみましょう。

    関連するQ&A

    -PR-
    -PR-

    その他の関連するQ&Aをキーワードで探す

    別のキーワードで再検索する
    -PR-
    -PR-
    -PR-

    特集


    成功のポイントとは?M&Aで経営の不安を解決!

    -PR-

    ピックアップ

    -PR-
    ページ先頭へ