/ / Octava: ¿Cómo evitar el error “imresize: IM debe ser una imagen en escala de grises o RGB”? - imagen, matlab, octava, cambio de tamaño de imagen

Octava: ¿Cómo evitar el error “imresize: IM debe ser una imagen en escala de grises o RGB”? - imagen, matlab, octava, cambio de tamaño de imagen

Esto es un error activo en octava:

error: imresize: IM must be a grayscale or RGB image.

No puedo encontrar una forma de evitar este error. ¿Hay algún código que deba agregarse antes de esta declaración para que funcione como lo hace en MATLAB?

ACTUALIZAR

Código de error activo:

In = ones(6,6);
In(3,3) = 2;
Out = imresize (In, 2);

Versión:

Respuestas

1 para la respuesta № 1

Los píxeles de grayimage en octava deben estar en el rango [0..1]. Puede escalar la amplitud de su matriz para satisfacer este criterio:

In = ones(6,6);
In(3,3) = -1;

minIn=min(In(:));
maxIn=max(In(:));
In1=(In-minIn)/(maxIn - minIn);
Out = imresize (In1, 2);
Out1=Out*(maxIn-minIn) + minIn;

0 para la respuesta № 2

No lo he probado, pero asumo que:

In = ones(6,6);
In(3,3) = -1;

minIn=min(In(:)); % do this
In=In-minIn;      % do this - now In(3,3)=0!

Out = imresize (In, 2);

Out=Out+minIn;    % do this

Hará el trabajo


0 para la respuesta № 3

Examinando los comentarios de @Andy, el imresize.m El archivo MATLAB se puede colocar en el directorio de operaciones. Esto ejecutaría el código como en MATLAB y no generaría el error como en la implementación de Octave.

El código puede ser tomado de este lugar.