Oitava erros na tentativa de estudo compressão de imagem
-
12-09-2019 - |
Pergunta
Deixe-me começar por dizer Eu te amo. Obrigado.
A seguir ordem do dia:
octave-3.2.3:8> xin = imread('3Phone.png');
octave-3.2.3:9> colormap(gray(256));
octave-3.2.3:10> image(xin);
error: invalid value for array property "cdata"
error: set: expecting argument 2 to be a property name
error: set: expecting argument 4 to be a property name
error: set: expecting argument 6 to be a property name
error: called from:
error: /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/image/__img__.m at line 57, column 7
error: /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/image/image.m at line 75, column 5
error: A(I): Index exceeds matrix dimension.
error: called from:
error: /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/plot/__go_draw_axes__.m at line 383, column 22
error: /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/plot/__go_draw_figure__.m at line 92, column 3
error: /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/plot/gnuplot_drawnow.m at line 91, column 5
octave-3.2.3:10>
Eu estou usando Octave 3.2.3 no Mac OS X (Snow Leopard). Esta é uma tentativa muito básico para exibir uma imagem que foi lido e memória armazenada. Qualquer ajuda em corrigir este problema seria muito apreciada. Obrigado!
Solução
Meu palpite, Quando você ler um arquivo PNG - ter certeza que é um arquivo de tons de cinza. Caso contrário, há 3 Matrizes (RGB). Therfore você não pode usar Grey mapa de cores.
Se 2Phone.png é uma imagem colorida, Tente (Pelo menos é o que eu faria em Matlab):
xin = imread('3Phone.png');
image(xin(:, :, 1);
colormap(gray(256));
Este seria exibido apenas o Matrix R.
Ou melhor, use RGB2Gray (Of claro, usar o equivalente a oitava).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow