次のスクリプトでは、「添え字インデックスは正の整数または論理でなければなりません」というエラーが表示されます。Matlab:行列の一部を選択
なぜvarsが整数なのかわかりません。さらに、私も整数にキャストします。
コードは次のとおりです。
x_start = int16(x-matrixRay);
x_end = uint16(x+matrixRay);
y_start = uint16(y-matrixRay);
y_end = uint16(y+matrixRay);
matrix = img(x_start:x_end,y_start:y_end);
私は上記のコードの前にブレークポイントを置きます。私は、変数の値をリストの下:それはかなり大きいので、
K>> x_start
x_start =
uint16
298
K>> x_end
x_end =
uint16
302
K>> y_start
y_start =
uint16
88
K>> y_end
y_end =
uint16
92
K>> matrixRay
matrixRay =
2
は、明らかに私は、すべての行列「IMG」を投稿することはできません。ワークスペースは1369x1173 uint8です。
なぜint8関数を使用していますか? – jrook
'int8'は小さすぎてこれらの値を格納できません。あなたはあふれています。 – beaker
間違いでした。 uint16では、私はまだ同じエラーがあります。コードと変数の値を更新しました。あなたは上のそれらをチェックすることができます。他のアイデア?ありがとう – user1315621