Sir plz help me to rectify this error

1 visualizzazione (ultimi 30 giorni)
X=reshape(x,size(Y));
where x=1; and Y=256 * 256 uint8
I got the error like this
"To RESHAPE the number of elements must not change."

Risposta accettata

Image Analyst
Image Analyst il 6 Ago 2016
Since x=1, you can use ones():
X = ones(size(Y)); % X is a double
If x is not one, but some other scalar, then you can use.
X = x * ones(size(Y)); % X is a double
If you want X to also be uint8, pass that class in:
X = ones(size(Y), 'uint8'); % Now X will also be uint8

Più risposte (1)

Walter Roberson
Walter Roberson il 6 Ago 2016
You cannot reshape a scalar into a 256 by 256 matrix. reshape() cannot create new data.
Perhaps you want
X = repmat(x, size(Y));

Categorie

Scopri di più su Convert Image Type in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by