How to correct error using RESHAPE

3 ビュー (過去 30 日間)
Ryan
Ryan 2021 年 7 月 7 日
回答済み: Ryan 2021 年 7 月 7 日
I am trying to use the reshape function in my code, however, I keep getting a reshape error
RMphantom = imresize(whatisit,[128 128]); % Rescaled
% Set the parameters for the RM phantom.
N = 64; % The image is N-times-N.
theta = 3:3:180; % No. of used angles.
k_art = 20; % No. of iterations.
k_sirt = 20; % No. of iterations.
x = RMphantom;
b = radon(RMphantom,theta)/255;
ntheta = length(theta);
p = length(b)/ntheta;
X = reshape(x,N,N);
Error using reshape
To RESHAPE the number of elements must not change
How would I correct this reshape error? Workspace file is also attached.

採用された回答

Steven Lord
Steven Lord 2021 年 7 月 7 日
Let's look at the relevant bits of your code, shall we?
%{
RMphantom = imresize(whatisit,[128 128]); % Rescaled
% Set the parameters for the RM phantom.
N = 64; % The image is N-times-N.
x = RMphantom;
X = reshape(x,N,N);
%}
For your reshape call to make sense, x must have N*N elements.
64*64
ans = 4096
Does it? That imresize call implies it will have 128*128 elements (or perhaps 128*128*3.)
128*128
ans = 16384
How do you fit 16,384 elements into a 4,096 element grid?

その他の回答 (1 件)

Ryan
Ryan 2021 年 7 月 7 日
Great, thanks for that!

カテゴリ

Help Center および File ExchangeImage Segmentation and Analysis についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by