Как вы можете загрузить матрицу из файла в октаве? - PullRequest
8 голосов
/ 10 августа 2011

Я загрузил 8-битное изображение в градациях серого в октаву с помощью imread, затем я сохранил его в формате ascii и получил огромный список всех его значений. Затем я добавил в матрицу 2x2 на языке Java и распечатал список каждой матрицы в одной строке.

Если матрица для пикселя в моей программе окажется такой:

0 2
3 1

Тогда вывод, который генерирует моя программа, выглядит так:

0 2 3 1

Тогда у меня есть все матрицы для каждого пикселя в этом формате в одной строке. Как я могу загрузить это в октаву, чтобы увидеть окончательное размытое изображение?

Я возился с октавой и создал простую матрицу, подобную первой, которую я показал, и сохранил ее в файл, затем я смог поместить все это в одну строку и загрузить его снова просто отлично. Затем я попытался заменить матрицу в этом файле матрицей, сгенерированной моей программой, но октава, похоже, не загружает ее. Матрица, в которую она пыталась загрузить ее, не изменилась вообще.

1 Ответ

8 голосов
/ 13 августа 2011

Не думаю, что я полностью понял ваш вопрос, но если у вас возникают проблемы с взаимодействием с файловой системой, я предлагаю использовать функции dlmread и dlmwrite.

Следующий код должен предоставить пример для начала работы:

%Random 4 by 4 matrix
M = rand(4,4) 

%Write matrix to file system
dlmwrite("filename.txt",M);

%Read it back and store in an other variable
M2 = dlmread("filename.txt")
...