Matlab записывает данные изображения в двоичный файл - PullRequest
3 голосов
/ 08 марта 2011

Я не очень хорош в Matlab, и мне нужна была помощь со следующим кодом.

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

Например, скажем, у меня есть изображение, которое разделено так, что оно состоит из 4 строк и 4 столбцов, так что изображение состоит из 16 меньших изображений. Данные изображения для этих меньших изображений сохраняются в структуре следующим образом:

data = struct('imageTitleFinal', {}, 'imageDataFinal', {});

for rows = 1:numberOfRows
        for columns = 1:numberOfColumns
            data(rows,columns).imageTitleFinal = currentTile;
            data(rows,columns).imageDataFinal = currentStructure(rows,columns).imageData;
        end
end

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

1 Ответ

1 голос
/ 08 марта 2011

Если по каким-либо причинам вы ДОЛЖНЫ записать в двоичный файл, вы можете создать свой собственный «заголовок» для этих данных.

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

-Я предполагаю, что ваш 'title' является массивом символов -Я предполагаю, что ваш файл данных является двойным массивом -The '|' это просто разделитель.

| uint32 с количеством символов в вашем заголовке | Данные вашего заголовка записаны в виде символов | Uint32 с числом двойников в ваших данных | Все ваши данные записываются как двойки |

Воздушный код:

fopen in append mode
fwrite(fid, numel(title), 'uint32');
fwrite(fid, title,'char'); %assuming ASCII char set
fwrite(fid, numel(data), 'uint32');
fwrite(fid, data, 'double);

Вы можете рассмотреть возможность добавления дополнительных «метаданных», например, размера данных, если ваши «меньшие изображения» не будут иметь одинаковый размер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...