How to correct error using RESHAPE

3 vues (au cours des 30 derniers jours)
Ryan
Ryan le 7 Juil 2021
Réponse apportée : Ryan le 7 Juil 2021
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.

Réponse acceptée

Steven Lord
Steven Lord le 7 Juil 2021
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?

Plus de réponses (1)

Ryan
Ryan le 7 Juil 2021
Great, thanks for that!

Catégories

En savoir plus sur Image Segmentation and Analysis dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by