Ограниченная ошибка GraphicsMagick при отображении изображения - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь показать изображение со следующим кодом:

filename = 'testflower.png';
A = importdata(filename);
image(A);

Однако я получаю следующие ошибки:

$ octave showimg.m 
warning: your version of GraphicsMagick limits images to 16 bits per pixel
warning: called from
    imformats>default_formats at line 256 column 11
    imformats at line 79 column 3
    imageIO at line 106 column 11
    imread at line 106 column 30
    importdata at line 110 column 50
    showimg.m at line 3 column 3
error: invalid value for array property "cdata"
error: called from
    image>__img__ at line 201 column 5
    image at line 119 column 10
    showimg.m at line 4 column 1

Я работаю над Octave версии 4.0.3-3 для Debian Stable Linux.

Где проблема и как ее можно решить? Спасибо за вашу помощь.

Редактировать: Подробности png (как предложено @MarkSetchell в комментариях) следующие:

$ pngcheck -v testflower.png 
File: testflower.png (17349 bytes)
  chunk IHDR at offset 0x0000c, length 13
    927 x 258 image, 8-bit palette, non-interlaced
  chunk PLTE at offset 0x00025, length 768: 256 palette entries
  chunk tRNS at offset 0x00331, length 217: 217 transparency entries
  chunk pHYs at offset 0x00416, length 9: 3780x3780 pixels/meter (96 dpi)
  chunk IDAT at offset 0x0042b, length 8192
    zlib: deflated, 32K window, default compression
  chunk IDAT at offset 0x02437, length 8058
  chunk IEND at offset 0x043bd, length 0
No errors detected in testflower.png (7 chunks, 92.7% compression).

1 Ответ

0 голосов
/ 15 июня 2019

Вы можете спокойно игнорировать предупреждение, потому что 16 бит, см. Здесь .

Ошибка, которую вы видите из изображения (не importdata), по-видимому, потому что возвращаемое значение importdata isnНе совместим с image в вашей версии GNU Octave (работает с 5.x)

Используйте

img = imread ("test.png");
image (img)

вместо

...