MATLAB读取图片并转换为二进制数据格式 您所在的位置:网站首页 MATLAB读取fig MATLAB读取图片并转换为二进制数据格式

MATLAB读取图片并转换为二进制数据格式

2024-06-02 13:21| 来源: 网络整理| 查看: 265

文章目录 前言一、MATLAB 文件读取方法1、文本文件读取2、二进制文件读取3、 图像文件读取4、其他文件读取 二、常用的图像处理标准图片链接三、MATLAB读取图片并转换为二进制数据格式1、matlab 源码2、运行结果

前言

本文记录使用 MATLAB 读取图片并转换为二进制数据格式的方法,避免后面再做无用功。

一、MATLAB 文件读取方法 1、文本文件读取

Matlab 可以使用 textread 函数、fgetl 函数和 dlmread 函数来读取文本文件。

textread 函数用于读取包含数字和文本值的纯文本文件,例如 .csv 文件。该函数将逐行读取文件,返回矩阵或多个矩阵,并允许您指定分隔符和每种数据类型的格式。fgetl 函数逐行读取纯文本文件,并返回一个字符向量或空字符串。该函数不需要指定分隔符或格式。dlmread 函数读取包含数字的表格,其中数据以指定的分隔符分隔。该函数返回矩阵。 2、二进制文件读取

Matlab 可以使用 fread 函数来读取二进制文件。fread 函数返回一个矩阵,其中每个元素都是二进制文件中的一个值。您可以指定要读取的数据类型、数据格式、读取的起始位置和要读取的数据量。

3、 图像文件读取

Matlab 可以使用 imread 函数来读取图像文件,例如 .jpg 文件。imread 函数可以返回包含像素值的矩阵和一些元数据的结构体。

4、其他文件读取

Matlab 可以使用 load 函数来读取 MATLAB 文件,并返回在文件中存储的所有变量。还可以使用 xlsread 函数来读取 Microsoft Excel 文件。这些函数还可以指定要读取的变量或工作表的名称。

二、常用的图像处理标准图片链接

常用的图像处理标准图片(Lena、cameraman等)获取地址:常用的图像处理标准图片

三、MATLAB读取图片并转换为二进制数据格式 主要流程:为将本地文件转换成二进制数据形式保存成为 txt 格式文件,接着从 txt 文件中读取并显示验证标准:转换前后显示的图片一致 1、matlab 源码

源码如下:

clear all close all % 读取图像 imdata = imread('Lena.bmp'); % 显示图像 imshow(imdata); % 将图像转换为二进制格式 BinSer = dec2bin(imdata, 8); % 将 BinSer 进行转置,使得每列表示一个像素值的二进制字符串。 BinSer = BinSer'; % 根据图像的大小创建一个文件名,文件名的格式为'binaryImg_M_N_K.txt', % 其中M表示图像的行数,N表示图像的列数,K表示图像的通道数(对于灰度图像, % 通道数为1)。 FileName = [num2str(size(imdata,1)), '_',num2str(size(imdata,2)),'_',num2str(size(imdata,3)),'.txt']; % 打开文件 FileName,以写入(write)方式 fid = fopen(FileName,'w'); % 将 BinSer 中的数据按照字符形式写入到文件中。 fprintf(fid,'%c', BinSer(:)); % 关闭文件 fclose(fid); % 创建一个新的图像显示窗口 figure; % 从文件名中读取出图像的行数 M、列数 N 和通道数 K,并将它们存储在变量 mn 中 mn = sscanf(FileName, '%d_%d_%d'); M = mn(1); N = mn(2); K = mn(3); % 以只读(read)方式打开文件 FileName。 fid = fopen(FileName, 'r'); % 从文件中读取数据,并将其存储在变量 data 中 data = fscanf(fid, '%c'); % 关闭文件 fclose(fid); % 将 data 重新排列成每列 8 个字符的矩阵,表示每个像素值的二进制字符串 data1 = reshape(data, 8, length(data)/8); % 将data1中的二进制字符串转换为对应的十进制表示,并将结果重新排列为 % M×N×K 的三维矩阵,其中 M 为行数,N 为列数,K 为通道数。 data2 = reshape(bin2dec(data1'), M, N, K); % 显示转换后的图像数据 imshow(uint8(data2)); 2、运行结果

左图为原图片,右图为转换成二进制文件后再进行显示 在这里插入图片描述 可以看到结果一致,达到了预期的期望。

我的qq:2442391036,欢迎交流!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有