問題タブ [matlab-figure]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
13313 参照

image - Matlab `imagesc`:滑らかな色で表示する方法は?

で表示するマトリックスがありますimagesc。ここで、「補間」バージョン(つまり、より滑らかな色で表示)を作成するように求められます。

より大きな補間行列を計算することはできましたが、そのような2つの表示モードを切り替えるコマンドがあったことを覚えているようです。スタイルの小さなコマンドaxis equalまたはプロパティのいずれかですが、それが見つかりません。

0 投票する
2 に答える
146 参照

matlab - MATLAB (画像処理)

たとえば、複数の画像をループに保存するにはどうすればよいですかimage_1,image_2。が固定されていない場合1,2は、ループに依存します。

0 投票する
3 に答える
6710 参照

matlab - MATLAB: 色が正しく表示されませんか?

MATLAB で色が正しく表示されないことがあります。これが私の側のプログラミング エラーなのか、それとも MATLAB の実際のバグなのかはわかりません。昨年かそこらで、この動作に一定の規則性があることに気付きました。

今回は、問題のエラーのある Figure のスナップショットを作成することにしました (Windows 7、64 ビットの MATLAB 2011b で取得)。

                                   ここに画像の説明を入力

問題の画像を表示するコードは次のとおりです。

どこ:

  • matrixタイプです(ただし、を呼び出す前にuint32明示的にキャストしようとmatrixしましたが)doubleimshow
  • matrix~の範囲0の値900
  • cmap901エントリがあります
  • highest_index900

259の値のRGB エントリは、matrix[1, 0, 0.1]の画像とカラーマップ配列の両方にあります(cmapつまり、カラーマップの最初のエントリはマトリックス値のためであるため、マトリックス値はカラーマップでインデックスを取得するcmap(300, :) = [1, 0, 0.1]ことに注意してください)。2593000

質問:

なぜこれが起こるのですか?エラーですか?私が間違っていることはありますか?

更新 1:

  1. またはに切り替えCDataMappingてみましたが、違いはありませんでした。directscaled
  2. imagescの代わりに も使用してみimshowましたが、違いはありませんでした。
  3. 最初に画像を RGB に変換すると (つまり、indexed imageを画像に変換しtrue colorます。詳細については、こちらを参照してください)、つまり を使用するi_rgb = ind2rgb(i_indexed, cmap)と、エラーがなくなり、画像が正しく表示されます。

    残念ながら、true color画像を表示すると、データ ヒントは各色の元のマトリックスのインデックスを明らかにせず、代わりに RGB ベクトルを表示するだけです (つまり、MATLAB は元のインデックスを認識していないため、これは論理的です)。

更新 2:

サンプルコードは次のとおりです。

上記のコードの結果は次のとおりです。

            ここに画像の説明を入力

0 投票する
2 に答える
7255 参照

matlab - Axes からのイメージを MATLAB に保存する

適用ボタンをクリックすると、newIM と呼ばれる軸に画像が生成されます。ここで、保存ボタンを押したときに、この新しい画像を jpg、gif、bmp などのファイルに保存したいと考えています。

これは私が持っていたものです:

ただし、これは Test.bmp のみであり、newIM の画像ではありません。

この変数を作成するにはどうすればよいですか?

0 投票する
2 に答える
1093 参照

matlab - MATLAB でのカラーマップのカラー スパンの変更

メッシュ/サーフ グラフでグレー カラーマップのスパンを 0-255 から 100-255 に変更するにはどうすればよいですか? データをuint8に変換せずにこれができるのだろうか。

ジョナスによるこの回答を見ました

しかし、変数「colormap gray」を「oldColormap」に割り当てる方法がわかりません

ありがとう

0 投票する
3 に答える
37484 参照

matlab - Matlab:同じ図の異なるサーフェスに異なるカラーマップ/カラーバーを割り当てる方法

私はMatlabにかなり慣れていないので、いくつか質問があります。同じ図に2つのサーフェスと1つの平面があります。bには別のカラーマップとカラーバーを使用し、cには別のカラーマップとカラーバーを使用したいと思います。sは固定色なので問題ありません。

私が達成しようとしていることを説明しようと思います:

cmap1 = colormap(topobathy) ->cmap1は予想どおり64x3倍です

cmap2 = colormap(redwhitegreen)

cmap1を使用してcdata1を作成します(これは私が理解できない最初の部分であり、cmap1を使用してzデータをスケーリングする方法です。デフォルトではCDataにはz値が含まれています)

b = surf(x、y、z、cdata1)

z値を使用したbのカラーバー

c = pcolor(x、y、(z-z0)) -これにはcmap2を使用したいと思います。

(z- z0 )値を使用したcのカラーバー

これが私がこれまでに抱えていることと私が遭遇する問題です

この時点で、カラーマップはbの場合は赤白緑に設定され、bのカラーバーは独自のクライムを持つ2番目のカラーバーを取得できません。

このリンクで説明されているfreezeColorsとcbfreezeを使用しました:http: //blogs.mathworks.com/pick/2009/07/24/using-multiple-colormaps-in-a-single-figure/

しかし、あるものは別のものを台無しにしながら機能します(おそらくすべて私のせいです)。とにかく外部のmファイルを使用せずにオブジェクトを完全に制御する方法を学びたいです。

どんな助けでも大歓迎です。

0 投票する
1 に答える
6054 参照

graph-theory - Matlab を使用したダイクストラ アルゴリズム

Matlab を使用してダイクストラ アルゴリズムを実行しています。これが私のコードです

問題は、最短パス「リセット」の赤い線のノードとエッジをどのように取得するかです。たとえば、私はそれを望んでいます[dist,path,pred] = graphshortestpath(DG,2,3)が、グラフはまだ

0 投票する
6 に答える
57758 参照

matlab - 図にx軸線を追加するにはどうすればよいですか?(matlab)

Matlabの図に0のx軸線を追加して、図をjpgに保存するときにデータを比較して、正か負かを確認できるようにします。これを行うための最良の方法は何ですか?使用できることはわかっていますがline()、xとyの範囲を指定する必要があるため、面倒に思えます。もっと簡単な方法はありますか?

0 投票する
3 に答える
1598 参照

matlab - 私は助けが必要ですmatlabでの数値比較

ターゲット(1X4000)と呼ばれる1つのマトリックスがあります。列1から2000にはdouble値0が含まれ、列2001から4000にはdouble値1が含まれます

a)targets_1というマトリックスを作成し、値が0かどうかを確認してから、エントリ1を作成します。そのため、1日の終わりに:列1から2000、値1、列2001のマトリックスが必要です。値がゼロの4000

b)上記と同じ状況ですが、今回は値が1かどうかを確認してから、エントリ1を作成し、ゼロの場合はエントリをゼロにします。最後に; 私の新しいマトリックスtargets_2には値が含まれています:値がゼロの列1から2000および値1の列2001:4000

strcmp関数を使用して文字列でこのようなチェックを行う方法は知っていますが、問題は、元の行列が2倍であり、次のような関数があるかどうかわからないことです。

setosaCmp = strcmp('setosa'、species);

これはdouble(数値)で機能する可能性があります。助けていただければ幸いです

0 投票する
1 に答える
1663 参照

matlab - MATLAB ResizeFcn コールバックが失敗する

MATLAB で記述された GUI を編集しており、OpeningFcn に Figure のサイズを変更するためのコールバックを設定する行があります。

簡単にするために、コールバックを大幅に編集して以下に貼り付けます。

私の同僚は、Windows XP と以前のバージョンの MATLAB を実行しています。Windows 7 と MATLAB 7.12.0.635 を実行しています。現在、フィギュアのサイズを変更すると、常に適切にサイズ変更されます。同じコードを実行すると、上記の設定された最小の幅と高さの制限よりも小さい図が得られることがあります。私の同僚は、これは Windows 7 の割り込みの問題だと言っています。他の誰かがこの問題を抱えている場合、私は以下に投稿する単純だが非論理的な回避策を見つけました.

この関数は、無限ループにならないように停止するフラグを付けて自分自身を呼び出していることがわかります。そして今、ウィンドウのサイズを最小値より小さくすることはできません。この動作についての洞察はありますか?